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
Indentation des lignes générées d'un micro-pattern
Vous pouvez indenter les lignes générées d'un micro-pattern en indiquant indent=nn (où nn est un nombre) n'importe où sur la ligne de déclaration du micro-pattern. La nouvelle indentation est prise en compte après une regénération.
L'indentation s'applique à la première ligne générée du micro-pattern. Le décalage avec les lignes suivantes, s'il existe, est conservé par rapport à la première ligne nouvellement indentée. Par exemple, si la première ligne générée a une indentation initiale de 11 et si vous indiquez indent=20 et regénérez, la première ligne aura une indentation de 20 et commencera donc en position 21. L'indentation des lignes suivantes sera décalée de 9 pour conserver le décalage initial.
- Elles ne doivent pas se situer au-delà de la colonne 72.
- Elles doivent commencer en marge B du COBOL si elles se situent en PROCEDURE DIVISION ou proviennent d'un micropattern WI, WE ou WS.
- Les niveaux 01 et 77 des lignes générées à partir du micro-pattern WF doivent se situer en marge A du COBOL.
Si au moins une ligne générée ne peut pas être indentée avec l'indentation demandée, toutes les lignes générées sont positionnées avec l'indentation par défaut. L'indication indent=nn est donc ignorée et l'avertissement Valeur indentation erronée apparaît sur la ligne de déclaration du micropattern dans l'éditeur COBOL PDP et dans la vue Erreurs.