Comment faire référence à un octet dans le stockage de travail en COBOL

Comment faire référence à un octet dans le stockage de travail en COBOL


Le Common Language Business-Oriented, COBOL, offre une variété de façons d'accéder à des données en mémoire. En COBOL, vous définissez les éléments de données tels que les dossiers, les compteurs et les variables mathématiques temporaires dans une zone appelée la section de stockage de travail de la Division des données. Une fois défini, vous utilisez les variables simplement en se référant à leur nom. Si vous avez besoin de faire référence à un octet à l'intérieur d'une variable, mis en place une variable ultérieure en utilisant "REDEFINES" clause de COBOL. Si vous créez la nouvelle variable comme un tableau, vous pouvez référencer tout seul octet dans la première variable.

Instructions

1 Créer une variable de mémoire dans la mémoire de travail, comme dans l'exemple suivant:

WORKING-STORAGE SECTION.

01 DISPLAY-VARIABLES.
05 DISPLAY-AREA PIC X(30).

Ceci crée une variable appelée "DISPLAY-AREA."

2 Définir une nouvelle variable après la première utilisation de la clause REDEFINES. Cette variable est un tableau. Il fait référence aux mêmes données que la première variable en utilisant le nouveau nom.

05 DISPLAY-BYTES REDEFINES DISPLAY-AREA
OCCURS 30 TIMES INDEXED BY DISPLAY-INDEX
PIC X(1).

Le "RÉPERTORIÉ PAR" clause définit une variable d'index. Vous ne définissez pas ailleurs dans le stockage de travail; cela lui permet de générer une erreur. La taille du champ d'origine, DISPLAY-AREA, est le même que DISPLAY-BYTES qui redéfinit. Un champ ayant un octet se produisant 30 fois est identique à une zone de 30 octets.

3 Mettre en place un champ de stockage de travail d'un octet dans lequel pour recevoir les données, comme le montre cet exemple:

05 SINGLE-BYTE-FIELD PIC X(1).

4 Déplacer des données à la première variable dans la "Division procédure" de votre programme, comme dans l'exemple suivant:

MOVE INPUT-RECORD TO DISPLAY-AREA.

5 Définissez la valeur de l'index de tableau pour choisir l'octet que vous voulez. Cette ligne devrait suivre le précédent dans la division Procédure de votre programme. En COBOL, contrairement à la plupart des autres langues que Fortran, le premier élément a un indice d'un, non nul. Donc, si vous souhaitez référencer le premier octet dans le domaine, définir l'index à un, comme le montre l'exemple suivant:

SET DISPLAY-INDEX TO 1.

6 Déplacer l'octet que vous venez de sélectionner le champ que vous avez configuré pour recevoir les données. Pour ce faire, vous spécifiez le champ du tableau et son index associé comme dans la déclaration suivante:

MOVE DISPLAY-BYTES (DISPLAY-INDEX) TO SINGLE-BYTE-FIELD.

Conseils et avertissements

  • Lorsque vous redéfinissez un champ de stockage de travail avec un autre, le champ de redéfinition a le même nombre de niveau que le champ d'origine. Dans ces exemples, le niveau est de 05.