Micro-patterns batch
Ces micro-patterns sont spécifiques à la génération de Programmes batch. Ils assurent les ordres d'entrée-sortie des fichiers en organisation séquentielle, séquentielle indexée ou dynamique.
Les instructions générées sont adaptées à la variante du matériel et aux spécifications de l'appel de la Structure de Données.
Ainsi, par exemple, le même micro-pattern de lecture peut générer READ AT END, READ INVALID KEY, CALL GETSEQ, GETRAN, ou RETURN AT END.
Format de saisie
Vous pouvez insérer ces micro-patterns dans une fonction du code COBOL d'un Programme avec l'éditeur de COBOL PDP, ou dans le code d'une Macro avec l'éditeur de Macro.
*!MP "XXXX"
où
:- *! est la balise de début du micro-pattern, obligatoire. Le
* doit être saisi en colonne 7, réservée aux commentaires dans le code COBOL, et le
! doit être saisi en colonne 8.Remarque : Si vous appuyez sur CTRL + barre d'espacement dans l'éditeur COBOL PDP, l'assistant de contenu affiche la liste des micro-patterns adaptés à l'entité et à la position dans le COBOL (WORKING-STORAGE SECTION ou PROCEDURE DIVISION). Les micro-patterns relatifs à la reprise des données Pacbase ne font pas partie de la liste. Chaque micro-pattern de la liste est documenté. Si vous double-cliquez sur l'un d'eux, la balise de début et l'identifiant du micro-pattern sont insérés dans le code. Vous devez alors complétez la déclaration.
- MP est l'identifiant du micro-pattern (OPE par exemple).
- " " doit encadrer les opérandes.
- xxxx constituent les opérandes du micro-pattern.
Micro-pattern OPE
Ce micro-pattern génère l'ouverture du fichier indiqué en opérande.
*!OPE "DS"
où DS est
la Structure de Données indiquée dans l'onglet Lignes
-CD du Programme. OPEN USE DS-FICHIER
où
:- USE est l'utilisation de la Structure de Données dans le Programme (INPUT, OUTPUT, I-O ou EXTEND). Il est généré pour le micro-pattern OPE uniquement.
- DS est la Structure de Données.
Micro-pattern CLO
Ce micro-pattern génère la fermeture du fichier indiqué en opérande.
*!CLO "DS"
où DS est
la Structure de Données indiquée dans l'onglet Lignes -CD du
Programme. OPEN DS-FICHIER
Micro-patterns R
Ce micro-pattern génère la lecture du fichier indiqué en opérande.
Il fait intervenir la variable IK. Cette variable aura une valeur différente de zéro en cas d'exécution anormale de l'instruction générée (fin de fichier, erreur sur clé par exemple). Vous devrez déterminer l'action à entreprendre en fonction de la valeur de cette variable.
*!R "DS"
où DS est
la Structure de Données indiquée dans l'onglet Lignes
-CD du Programme. MOVE 0 TO IK
READ DS-FICHIER
AT END MOVE 1 TO IK
MOVE 0 TO IK
READ DS-FICHIER NEXT
AT END MOVE 1 TO IK
Micro-pattern RN
Ce micro-pattern génère la lecture de l'enregistrement suivant du fichier indiqué en opérande.
Il fait intervenir la variable IK. Cette variable aura une valeur différente de zéro en cas d'exécution anormale de l'instruction générée (fin de fichier, erreur sur clé par exemple). Vous devrez déterminer l'action à entreprendre en fonction de la valeur de cette variable.
*!RN "DS"
où DS est
une Structure de Données. MOVE 0 TO IK
READ DS-FICHIER NEXT
AT END MOVE 1 TO IK
Micro-pattern W
Ce micro-pattern génère l'écriture du fichier indiqué en opérande.
Il fait intervenir la variable IK. Cette variable aura une valeur différente de zéro en cas d'exécution anormale de l'instruction générée (fin de fichier, erreur sur clé par exemple). Vous devrez déterminer l'action à entreprendre en fonction de la valeur de cette variable.
*!W "SEGM"
où SEGM est
le Segment indiquée dans l'onglet Lignes -CD du
Programme. MOVE 0 TO IK
RELEASE SEGM
MOVE 0 TO IK
WRITE SEGM
INVALID KEY MOVE 1 TO IK
Micro-pattern RW
Ce micro-pattern génère la réécriture du fichier indiqué en opérande.
Il fait intervenir la variable IK. Cette variable aura une valeur différente de zéro en cas d'exécution anormale de l'instruction générée (fin de fichier, erreur sur clé par exemple). Vous devrez déterminer l'action à entreprendre en fonction de la valeur de cette variable.
*!RW "SEGM"
où SEGM est
un Segment. MOVE 0 TO IK
REWRITE SEGM
INVALID KEY MOVE 1 TO IK