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.

Vous devez respecter le format de saisie suivant :
      *!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.

Saisissez le micro-pattern de la façon suivante :
      *!OPE "DS"
DS est la Structure de Données indiquée dans l'onglet Lignes -CD du Programme.
Ce micro-pattern génère :
   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.

Saisissez le micro-pattern de la façon suivante :
      *!CLO "DS"
DS est la Structure de Données indiquée dans l'onglet Lignes -CD du Programme.
Ce micro-pattern génère :
   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.

Saisissez le micro-pattern de la façon suivante :
      *!R "DS"
DS est la Structure de Données indiquée dans l'onglet Lignes -CD du Programme.
Si le mode d'accès de la Structure de Données dans l'onglet Lignes -CD du Programme est S : Séquentiel, ce micro-pattern génère :
   MOVE 0 TO IK
   READ DS-FICHIER
   AT END MOVE 1 TO IK
Si le mode d'accès de la Structure de Données dans l'onglet Lignes -CD du Programme est D : Dynamique, ce micro-pattern génère :
   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.

Saisissez le micro-pattern de la façon suivante :
      *!RN "DS"
DS est une Structure de Données.
Ce micro-pattern génère :
   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.

Saisissez le micro-pattern de la façon suivante :
      *!W "SEGM"
SEGM est le Segment indiquée dans l'onglet Lignes -CD du Programme.
Si le mode entrée - sortie de la Structure de Données dans l'onglet Lignes -CD du Programme est T : Tri, ce micro-pattern génère :
  MOVE 0 TO IK
	RELEASE     SEGM
Si le mode entrée - sortie de la Structure de Données dans l'onglet Lignes -CD du Programme n'est pas T : Tri, ce micro-pattern génère :
  MOVE 0 TO IK
	WRITE        SEGM
  INVALID KEY MOVE 1 TO IK
Remarque : La troisième ligne n'est générée que si l'organisation de la Structure de Données dans l'onglet Lignes -CD du Programme est I : Indexé.

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.

Saisissez le micro-pattern de la façon suivante :
      *!RW "SEGM"
SEGM est un Segment.
Ce micro-pattern génère :
  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.

Les contrôles suivants sont effectués sur les lignes nouvellement indentées lors de la regénération :
  • 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.


Vos commentaires