Rational Programming Patterns for System z

Actions communes à tous les modèles d'éditeurs PDP de Macro

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 Déplier ou la replier en cliquant sur Replie. 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éé.
    Figure 1. Choix d'un numéro de ligne
    Numéro de ligne à renseigner pour un tag créé à partir d'un noeud Source.
  • 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
    Zones à renseigner pour la création d'un tag fils à partir d'un tag <WORKING> ou <SUITE-WORKING>.
    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.

  1. 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 :
    Figure 3. Regrouper les tags
    Exemple de sélections des tags: trois lignes sont sélectionnées pour être regroupées sous le même tag.
  2. Dans l'arbre des tags, on obtient une ligne 100 qui regroupe les autres tags sélectionnés :
    Figure 4. Tags regroupés sur le premier tag de la sélection
    Les tags sont regroupés sur le premier tag de la sélection.

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 :
  1. Faites un clic-droit sur une fonction/sous-fonction et sélectionnez Mise à jour du niveau.
  2. Dans la boîte de dialogue qui s'ouvre, saisissez une valeur du niveau :
    Figure 5. Mise à jour du niveau
    Saisissez une nouvelle valeur dans la zone 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 :
  1. Faites un clic droit sur une branche de l'arbre, et sélectionnez le choix Créer une working ou une linkage.
  2. 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 :
Boîte de dialogue permettant la création d'une fonction/sous-fonction
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.
Figure 6. Ecraser le tag
Ecrasement du tag

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 :
Figure 7. Position choice for a linkage
Création d'une linkage section depuis le tag <DATA>
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.
  • Copier/coller des tags entre des Macros :

    vous devez copier l'ensemble des tags, y compris les tags dépendants. Lorsqu'un tag existe déjà, un message demande confirmation de l'écrasement du tag existant.

  • Copier/coller des tags à l'intérieur d'une Macro :
    • une fenêtre s'ouvre et vous permet de saisir le nouveau nom du tag collé,
    • seuls les tags sélectionnés sont copiés.
  • 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.