Syntaxe du code source des Macros
Vous devez respecter les règles syntaxiques pour créer des lignes de code dans l'éditeur COBOL de Macro.
Les identifiants
Vous devez indiquer un identifiant avant chaque instruction COBOL pour permettre son placement en début de programme, en WORKING-STORAGE SECTION, LINKAGE SECTION ou PROCEDURE DIVISION. Vous devez saisir l’identifiant dans la marge COBOL (colonnes 1 - 6). Vous devez indiquer un numéro de ligne sur la ligne qui suit la ligne contenant l'identifiant. Les lignes de la Macro seront insérées à l’emplacement correspondant à l’identifiant.
La saisie des identifiants est contrôlée. Si une erreur est détectée, l’instance est marquée en erreur dans l'espace de travail. En conséquence, la génération des instances appelant la Macro est impossible. Les contrôles sont détaillés dans Contrôles de la syntaxe du code source des Macros.
- Identifiants pour le début de programme :
Ces identifiants peuvent être paramétrés sous la forme B$n$n.
Le tableau suivant indique tous les identifiants possibles et le paragraphe généré pour chaque identifiant.Tableau 1. Identifiants pour la zone de début de programme Identifiants Paragraphes générés B__01 Commentaire API COBOL B__05 Commentaire PAF B__10 PROGRAM-ID B__20 AUTHOR B__30 DATE-COMPILED B__40 ENVIRONMENT DIVISION B00 CONFIGURATION SECTION B0000 SOURCE-COMPUTER B0010 OBJECT-COMPUTER B0020 SPECIAL-NAMES B01 INPUT-OUTPUT SECTION B01 FILE-CONTROL B01FF SELECT FF-FICHIER B0100 I-O-CONTROL B60 Réservé à la ligne DATA DIVISION B99 Réservé à la ligne FILE SECTION B9*FF Réécriture de la clause FD pour le fichier FF Remarque : Vous pouvez utiliser l’attribut ACTION=R pour supprimer une section ou un paragraphe, comme dans l’exemple suivant :B01 000 INPUT-OUTPUT SECTION. 100 FILE-CONTROL. B01A2 900 SELECT A2-FILE ASSIGN TO UT-S-TESTCTL. B9999 *ACTION=R
- Identifiants pour les zones de travail et de lien : WXX (où XX est
l'emplacement dans la WORKING-STORAGE SECTION) :
Ces identifiants peuvent être paramétrés.
Vous pouvez indiquer ces identifiants pour écraser la ligne PROCEDURE DIVISON dans le programme généré. Pour cela, vous devez indiquer les informations suivantes :- Sur la première ligne, indiquez l’identifiant WXX.
- Sur la deuxième ligne, indiquez un numéro de ligne 000 suivi de la nouvelle déclaration de la PROCEDURE DIVISON. Vous pouvez créer d’autres lignes si nécessaire.
W99 000 PROCEDURE DIVISION USING 010 SQ01.
- Identifiants pour la description des traitements (fonctions, sous-fonctions)
: FXXYY (où XX est le
code fonction et YY le code sous-fonction)
Ces identifiants peuvent être paramétrés.
- Identifiants pour la génération d’indices :
Tous les indices sont générés sous le même niveau indices. Pour qu'ils soient générés sous le niveau 01 de votre choix, vous devez les saisir sous un identifiant WXX. Pour qu'ils soient générés sous le niveau 01 des indices automatiques, vous devez saisir les identifiants suivants.
Vous pouvez indiquer les indices suivants :- IXXNN (où XX et NN sont
deux codes sur deux caractères chacun, comme le code Structure de
Données et Segment par exemple)
Cet indice correspond à la dimension de la table qui doit être indiquée dans une zone de travail et de lien.
Les trois indices suivants sont générés automatiquement :- IXXNNM contient le nombre d’enregistrements maximum prévu par l’utilisateur (initialisé par VALUE).
- IXXNNL contient le nombre d’enregistrements effectivement stockés dans la table. Il est initialisé à zéro et doit être incrémenté au chargement. Ce nombre ne peut excéder le nombre maximum.
- IXXNNR concerne la recherche dans la table. Il est initialisé à zéro et ne peut dépasser IXXNNL.
La donnée déclarée dans la zone de travail et de lien doit être de la forme : W-XXNN ou W-XXNN-CORUB (où W est un chiffre ou une lettre représentant la zone de travail et CORUB est le code Rubrique).
La dimension de la table peut être paramétrée.
Le niveau indiqué pour ces indices doit être 05.
- JXXNN (où XX est le code fonction
et NN le code sous-fonction)
Cet indice est utilisé dans une boucle DO.
- IXXNN (où XX et NN sont
deux codes sur deux caractères chacun, comme le code Structure de
Données et Segment par exemple)
Règles de saisie des lignes
- Hors PROCEDURE DIVISION, vous devez saisir les éléments suivants :
- Une ligne contenant un identifiant,
- Une ou plusieurs lignes contenant du source. La première ligne doit comporter un numéro de ligne.
- En PROCEDURE DIVISION, vous devez saisir les éléments suivants :
- Une ligne contenant un identifiant,
- Une ligne titre (facultative),
- Une ligne contenant les attributs. Cette ligne est obligatoire pour la création d'une fonction ou sous-fonction.
Les conditions et les traitements doivent commencer en marge B du COBOL.
Toutes les valeurs possibles pour l’insertion d’une fonction ou sous-fonction sont détaillées dans l’aide associée à chaque assistant de création de fonction ou sous-fonction.
Toutes les règles de saisie des numéros de ligne, identifiants et attributs des Macros sont détaillées dans Contrôles de la syntaxe du code source des Macros.
Les règles de saisie spécifiques aux Macros migrées de Pacbase sont expliquées dans Code source des Macros migrées.
Exemples de code source de Macro




