Vous pouvez modifier le code COBOL d'une Macro dans
l'éditeur PDP de
Macro. en utilisant les choix du menu accessible depuis la vue Arbre
des tags de la Macro. Dans cette vue, vous pouvez créer
des fonctions et sous-fonctions étiquetées (tags) ainsi que workings
ou linkages pour identifier le code dans la Macro. Certains choix
du menu contextuel sont spécifiques à un modèle et ne sont accessibles
que dans l'éditeur dédié. Une option permet la visualisation
de la Macro intégrée dans le squelette d'un programme propre
au modèle choisi lors de l'ouverture de la Macro dans l'éditeur PDP. L'affichage par
défaut ne contient pas de squelette. Cette page présente uniquement
les actions communes à tous les modèles d'éditeur de Macro PDP.
Pour afficher l'Arbre des tags de la Macro,
vous devez ouvrir un fichier .cblmsp dans la
vue Explorateur de designs de la perspective Programmation
pilotée par pattern avec le choix Ouvrir avec du
menu contextuel. Ensuite vous devez sélectionner l'éditeur de
Macro correspondant au modèle avec lequel vous travaillez Editeur PDP de Macro (modèle batch
ou modèle dialogue).
La vue
Arbre des tags de la Macro présente
une arborescence des tags de la Macro. Vous pouvez déplier la liste
en cliquant sur

ou la replier en cliquant sur

. Vous pouvez filtrer les éléments qui composent l'arbre
pour n'afficher que les éléments pertinents pour vos mises à
jour (le filtrage se fait avec la zone 'Entrer le titre du filtre',
voir dans l'image ci-après). Cette fonctionnalité est très utile
quand la liste des tags est longue.
L'éditeur de Macro , permet
de visualiser dynamiquement les mises à jour que vous effectuez dans
la vue.
Créer un tag fils
Sélectionnez un noeud
dans l'arbre des tags, et dans le menu contextuel, cliquez sur
le choix
Créer un tag fils. Dans la boîte de
dialogue qui s'ouvre, vous devez saisir une valeur dans la zone
qui s'affiche selon le type de noeud sélectionné. Il y a trois
possibilités :
- Vous créez un tag détail :
Si vous créez un tag fils à partir
du noeud
<SOURCE>, vous devez saisir un numéro
de ligne. Si vous saisissez
100 dans la zone
Numéro
de ligne, le tag
<SOURCE100> sera
créé.
- Si vous créez un tag fils à partir d'un tag <IOSEC-FILECTRL> ou <FILE>,
vous devez saisir dans ce cas un code fichier comprenant deux caractères
obligatoires.
- Si vous créez un tag fils à partir d'un noeud <WORKING> ou <SUITE-WORKING>,
vous devez saisir une ligne début et un numéro de ligne :
Figure 2. Choix
d'un emplacement
- Début de ligne
- Dans la zone Début de ligne, la valeur
doit contenir deux caractères.
- Numéro de ligne
- Dans la zone Numéro de ligne, la valeur
doit contenir 3 caractères.
Renommer un tag
Pour renommer un tag, sélectionner
un tag dans l'arbre des Macros, faites un clic-droit et sélectionnez Renommer
un tag. Dans l'assistant qui s'ouvre, vous pouvez
modifier le Code sous-fonction et le Numéro
de ligne.
Supprimer le tag
Pour supprimer un tag,
faites un clic droit sur un tag dans l'arbre des tags de la Macro
et sélectionnez Supprimer le tag. La ligne
contenant le tag est supprimée, elle n'est plus visible dans
l'arbre et dans l'éditeur de la Macro.
Regrouper les tags
Vous pouvez regrouper
des lignes détails de la Macro. Les lignes sélectionnées sont regroupées
sur le premier tag de la sélection.
- Sélectionnez les lignes dans une fonction, utilisez la touche
MAJ pour une multi-sélection, suivi d'un clic droit sur la sélection
et choisissez Regrouper les tags. Dans l'exemple
ci-dessous, ce sont les lignes 100, 200 et 250 qui vont être regroupées
:
- Dans l'arbre des tags, on obtient une ligne 100 qui regroupe
les autres tags sélectionnés :
Mise à jour du niveau
Vous pouvez modifier
le niveau d'une fonction/sous-fonction dans l'
Arbre
des tags de la Macro. Pour ce faire :
- Faites un clic-droit sur une fonction/sous-fonction et sélectionnez Mise
à jour du niveau.
- Dans la boîte de dialogue qui s'ouvre, saisissez une valeur
du niveau :
Après validation, les fonctions et sous-fonctions sont
replacées selon les niveaux dépendants
Créer une working ou une linkage
Vous pouvez
créer une working ou linkage seulement sous une vue standard de l'arbre
des tags, ce choix est grisé dans le menu lorsque vous éditez un squelette.
Pour créer une working ou une linkage :
- Faites un clic droit sur une branche de l'arbre, et sélectionnez
le choix Créer une working ou une linkage.
- Dans la boîte de dialogue qui s'ouvre, saisissez une valeur
pour le début de ligne et le numéro de ligne.
- Début de ligne
- Dans la zone Début de ligne, la valeur
doit contenir deux caractères.
- Numéro de ligne
- Dans la zone Numéro de ligne, la valeur
doit contenir 3 caractères.
Selon la valeur définie de début de ligne, le
tag se placera au bon endroit, ce qui signifie qu'il peut s'agir d'une 'linkage'
dans le cas où le tag 'Linkage' existe déjà et que l'emplacement
saisi (début de ligne + n° de ligne) est supérieur à celui de la linkage.
Génération/pas de génération
Avec cette commande
activée, vous pouvez tagger les fonctions que vous souhaitez générer.
Pour ce faire, faites un clic-droit sur une fonction et sélectionnez Génération/pas
de génération dans le menu. Une marque SUP s'affiche
sur le noeud de la fonction. Pour supprimer cette marque, sélectionnez
à nouveau dans le menu Génération/pas de génération,
la fonction ne sera pas générée.
Créer une fontion/sous-fonction
Vous
pouvez créer une fonction et une sous-fonction. Sélectionnez une ligne
dans l'arbre des tags de la Macro et, dans le menu contextuel,
sélectionnez
Créer une fontion/sous-fonction.
Une boîte de dialogue s'ouvre permettant la saisie d'un
code fonction, d'un code sous-fonction et du niveau :
- Code fonction
- Le code fonction est obligatoire, il doit avoir une longueur de
2 caractères.
- Code sous-fonction
- Le code sous-fonction est facultatif, sauf si vous voulez créer
une sous-fonction. Sa longueur est de 2 caractères.
- Niveau
- Le niveau est facultatif, il a une longueur de 2 caractères. Les
caractères numériques sont obligatoires sauf si le niveau débute par
la valeur $, vous pouvez entrer un deuxième
caractère alphanumérique. Si aucune valeur n'est indiquée dans
cette zone, la valeur 05 est attribuée automatiquement
pour une fonction, et la valeur 10 est attribuée
automatiquement pour une sous-fonction.
- Autres valeurs possibles pour une sous-fonction : de 06 à 98.
- Dans une fonction donnée, une sous-fonction de niveau 15 fait
partie des sous-fonctions de niveau 06 à 14 qui
la précède. Une sous-fonction dépendante ne sera exécutée que si la
fonction ou sous-fonction de niveau supérieur est elle-même exécutée. 99 est
utilisé pour écrire une condition sans changer le code de la sous-fonction.
Cette condition s'applique jusqu'au niveau 99 ou
à la fin de la sous-fonction. Une procédure de niveau 99 est
limitée à 75 lignes. Une sous-fonction peut contenir 98 à 99 niveaux
maximum.
- Titre
- Insérez un titre dans la zone.
Création d'une ligne détail en procédure division
Ce
choix est disponible uniquement pour une vue avec édition d'un
squelette. Lorsque vous choisissez cette option dans le menu contextuel,
une boîte de dialogue s'ouvre. Vous devez entrer un code fonction,
un code sous-fonction et un numéro de ligne.
Ecraser le tag
Ce choix est disponible uniquement
pour une vue avec édition d'un squelette. Pour écraser un tag,
sélectionnez un noeud dans l'arbre des tags et, dans le menu
contextuel, choissisez
Ecraser le tag. Cette
action est autorisée sur certains tags suivant la logique Pacbase.
Créer la linkage section
Ce choix est disponible
uniquement pour une vue avec édition d'un squelette. Vous ne
pouvez créer une linkage section qu'à partir d'un tag
<DATA>.
Pour ce faire, sélectionnez un tag
<DATA> dans
l'arbre des tags et choisissez
Créer une linkage section.
Dans la boîte de dialogue qui s'ouvre, saisissez une ligne début
et un numéro de ligne :
- Début de ligne
- Dans la zone Début de ligne, la valeur
doit contenir deux caractères obligatoirement. Ils doivent être numériques
si le premier caractère n'est pas $ .
- Numéro de ligne
- Dans la zone Numéro de ligne, la valeur
doit contenir 3 caractères obligatoirement, numériques si le premier
caractère n'est pas $ .
Copier/coller des tags
Les tags peuvent
être copiés et collés avec leur texte d'une Macro à une autre
ou à l'intérieur d'une même Macro.
- L'action copier est inactive :
- sur les tags du squelette ainsi que sur les tags 'commentaires', 'body'
et 'fn',
- dans une sélection multi-tags, si l'un des tags est du type 'commentaire', 'body'
et 'fn'.
- L'action Coller est inactive si le
contenu à coller est incompatible.
Autres actions
D'autres choix sont disponibles
dans les éditeurs de modèle dialogue et écran client ou encore de
modèle serveur. Pour plus de détails, consultez respectivement les
pages d'aides Assistant de création d'une sous-fonction
spécifique dialogue ou client et Actions spécifiques
dans un éditeur PDP de Macro.
Important : Les
tags sont une notion très importante dans la gestion des Macros. Ce
sont eux qui permettent les fusions des Macros entre elles, qui permettent
le mixage d'une Macro avec un programme et qui déterminent l'arborescence
d'un programme. Aussi, si les paramètres de la Macro ont été
modifiés, il est impératif de regénérer le programme.