Vue Structure du code généré

Cette vue affiche un arbre avec les nœuds générés de l'instance. Elle vous permet de naviguer facilement dans l'éditeur COBOL PDP et de repérer les endroits où du code spécifique a été inséré. Si vous avez modifié le design d'une instance contenant du code spécifique, vous devez consulter cette vue après chaque nouvelle génération pour voir si la réconciliation (qui intègre le nouveau design tout en conservant le code spécifique) a détecté d'éventuels problèmes. Cette vue vous permet aussi de créer et modifier les fonctions et sous-fonctions spécifiques.

Pour voir le contenu de cette vue, vous devez avoir généré un Programme, Ecran ou Serveur. Dans la vue Explorateur de designs ou une vue des résultats d'une recherche locale ou serveur d'instances ou de références, faites un clic droit sur le fichier généré et sélectionnez l'éditeur COBOL PDP. Par exemple, pour ouvrir le fichier généré d'un Programme, sélectionnez Ouvrir avec > Editeur COBOL PDP dans le menu contextuel du Programme généré. L'éditeur doit rester ouvert et sélectionné.

Affichage dans la vue

Dans la facette Pacbase, les nœuds correspondent aux fonctions, sous-fonctions, sections et divisions. Par défaut, l'arbre affiche les titres des fonctions et sous-fonctions générées et spécifiques. Ces titres sont extraits du commentaire précédant la fonction ou sous-fonction. Seuls les caractères pertinents sont pris en compte. Les caractères tels que *, + ou = par exemple, et la chaîne de caractères NOTE ne sont donc pas affichés. Pour ne pas afficher les titres des fonctions et sous-fonctions, désélectionnez l'option Afficher les libellés longs des noeuds à partir de Fenêtre > Préférences > Programmation pilotée par pattern > Infrastructure PDP.
Remarque : Les nœuds et leur niveau sont aussi affichés dans une infobulle dans la première colonne.
L'arbre de la vue affiche les symboles suivants :
  • Code généré si le bloc de texte représentant le noeud est généré.
  • Code reformaté si le bloc de texte représentant le noeud contient des changements spécifiques, c'est à dire si le code généré a été modifié, si du code a été ajouté ou supprimé. Un symbole précise le type du changement spécifique :
    • Code modifié est affiché là où le texte du noeud a été modifié et où la réconciliation n'a détecté aucune erreur.
    • Code ajouté est affiché là où vous avez ajouté un bloc de texte dans le noeud ou créé un noeud spécifique.
    • Code supprimé est affiché là où vous avez supprimé le texte entier d'un noeud (si vous n'en avez supprimé qu'une partie, ceci est considéré comme une modification).
    Remarque : A chaque niveau de l'arbre où un avertissement est signalé, vous pouvez effectuer l'une des opérations suivantes :
    • Conserver les choix faits par la réconciliation en faisant un clic droit sur le nœud et en sélectionnant Supprimer les avertissements.
    • Écraser les modifications de texte avec le code généré initial en faisant un clic droit sur le noeud et en sélectionnant Restaurer le code généré. Le noeud s'affichera alors comme un nœud généré (le texte du bloc sera précédé du symbole code généré).
Vous pouvez modifier l'affichage de la vue de plusieurs façons :
  • Afficher uniquement les nœuds représentant du code spécifique, avec leur hiérarchie ascendante. Pour ce faire, cliquez sur Montrer les nœuds utilisateurs dans la barre d'outils.
  • Filtrer les nœuds. Pour ce faire, saisissez une chaîne de caractères dans la zone de saisie du texte du filtre de la vue. Lorsque vous commencez à saisir, un bouton s'affiche. Il permet d'effacer le filtre saisi et de revenir à l'affichage initial.
    Remarque : Les caractères génériques * pour remplacer une chaîne de caractères et ? pour remplacer un caractère sont acceptés ; ils sont optionnels en fin de chaîne.
  • Développer ou réduire tous les nœuds de l'arbre. Cliquez respectivement sur Tout développer ou Tout réduire dans la barre d'outils de la vue.
  • Afficher les nœuds créés lors de l'expansion des micro-patterns de reprise des opérateurs paramétrés dans les Macros (facette Pacbase). Ces nœuds sont cachés par défaut pour ne pas encombrer l'arbre des nœuds. Vous pouvez cependant les afficher pour détecter d'éventuels problèmes. Pour ce faire, désélectionnez l'option Cacher les noeuds possédant la propriété "cachée" à partir de Fenêtre > Préférences > Programmation pilotée par pattern > Infrastructure PDP.

Depuis un nœud de Macro (facette Pacbase), vous pouvez ouvrir la Macro dans l'éditeur de Macro, dans le contexte de son appel. Pour ce faire, faites un clic droit sur un nœud de Macro et sélectionnez Ouvrir la Macro avec l'éditeur de Macro. Ce choix est identique à un double-clic sur une Macro depuis l'onglet Lignes -CP de l'instance appelante.

Dans la facette Pacbase, la colonne Condition de cette vue affiche les conditions COBOL (contenu des lignes IF) des fonctions et sous-fonctions. L'infobulle associée affiche chaque condition telle qu'elle a été saisie dans le COBOL en respectant la saisie sur plusieurs lignes.

A partir de cette vue, vous avez la possibilité de filtrer le texte dans l'éditeur PDP pour afficher ou cacher des parties du code.

Vous pouvez modifier la couleur des nœuds générés à partir du design et des appels de Macros. Pour cela, sélectionnez Fenêtre > Préférences > Général > Apparence > Couleurs et polices > Editeurs PDP COBOL > Couleur du texte du code généré. Cliquez sur Editer. Dans l'assistant de sélection, sélectionnez une autre couleur et cliquez sur OK. Dans la page des préférences, cliquez sur Appliquer puis sur OK. La nouvelle couleur est automatiquement prise en compte dans la vue Structure du code généré lorsque vous ouvrez des fichiers COBOL avec l’éditeur COBOL PDP. En revanche, vous devez fermer et rouvrir les fichiers COBOL déjà ouverts pour que la nouvelle couleur soit prise en compte.

Gestion des fonctions et sous-fonctions spécifiques

Vous gérez les fonctions et sous-fonctions spécifiques en faisant un clic droit et en sélectionnant Actions sur fonction et sous-fonction dans le menu contextuel. Vous pouvez alors effectuer les actions suivantes :
  • Créer une fonction ou sous-fonction. Cette action est identique à celle présente dans l'éditeur COBOL PDP et l'éditeur Source COBOL de Macro. Quand vous la sélectionnez, l'assistant de création de fonctions ou sous-fonctions s'ouvre. La position du curseur lors de l’ouverture de l’assistant est sans importance. La fonction ou sous-fonction créée est insérée correctement selon le numéro que vous lui donnez dans l’assistant.
    Il existe deux modes d’insertion :
    • Insertion en mode absolu dans les Programmes, Ecrans et Serveurs,
    • Insertion en mode relatif par rapport aux fonctions automatiques du modèle Dialogue standard ou client ou Composant Applicatif.
      Avertissement : Dans cette version de Rational Programming Patterns, l'insertion en mode relatif dans l'éditeur COBOL PDP ne peut se faire que par l'intermédiaire de la Macro prioritaire associée à l'Ecran ou au Composant Applicatif. Cette Macro est identifiée par le nom de l'instance suivi de SP. Par exemple, l'insertion d'une fonction ou sous-fonction relative dans l'Ecran SCR001 doit être faite dans la Macro prioritaire SCR001SP.
    L’assistant de création de fonctions et sous-fonction insère les éléments suivants dans le code :
    • Le titre de la fonction ou sous-fonction,
    • Les étiquettes de début et de fin,
    • Le niveau,
    • Le commentaire *<insert code for Fffnn here> (avec Fffnn le code de la fonction ou sous-fonction) pour indiquer le début d’une insertion possible de code spécifique,
    • La condition d’exécution si elle a été indiquée dans l’assistant. La condition d'exécution est indiquée à la fin de la ligne de commentaire précédant l'insertion (*.DU par exemple).
      Remarque : Pour des explications sur les conditions d'exécution DO et CO, consultez Cas particulier des boucles DO et CO.
  • Supprimer la fonction ou sous-fonction sélectionnée. Quand vous sélectionnez cette action, une boîte de dialogue vous demande de confirmer la suppression. Cette boîte contient aussi une case à cocher permettant de demander la suppression de toutes les sous-fonctions dépendantes, uniquement si elles ne contiennent pas de code généré. Si elles contiennent du code généré, cette case à cocher n'est pas disponible.
  • Modifier la fonction ou sous-fonction sélectionnée. Cette action est identique à celle présente dans l'éditeur COBOL PDP et l'éditeur Source COBOL de Macro. Quand vous la sélectionnez, l'assistant de modification de fonctions ou sous-fonctions s'ouvre. Vous pouvez modifier le niveau ou le titre de la fonction ou sous-fonction.
  • Déplacer ou Copier-coller la fonction ou sous-fonction sélectionnée. Quand vous sélectionnez l'une ou l'autre de ces actions, une boîte de dialogue vous demande le nouveau code de la fonction ou sous-fonction.
    Restriction : Les actions sur les fonctions ou sous-fonctions déjà insérées ne sont possibles que sur une fonction ou sous-fonction terminale ne contenant pas de code généré provenant du design ou de Macros. Pour déplacer ou copier-coller une grappe de fonctions et sous-fonctions, vous devez donc effectuer l'action sur chaque fonction et sous-fonction, une par une.
    Les actions sur les fonctions ou sous-fonctions déjà insérées mettent à jour toute la structure de la fonction ou sous-fonction, c'est à dire :
    • Le code de la fonction ou sous-fonction en colonne 8 et dans les traitements associés (NEXT SENTENCE ou GO TO par exemple),
    • Les indices liés à une boucle DO avec création des indices en WORKING-STORAGE SECTION.
    Ces actions ne modifient pas le code spécifique. Ainsi, par exemple, les commentaires et les ajouts de DISPLAY sont conservés tels quels.
    Avertissement : Suite à des actions de copier-coller, la condition d'exécution affichée sous forme de commentaire (*.BL par exemple) sur la ligne de titre de la fonction ou sous-fonction dans l'éditeur COBOL PDP peut ne plus correspondre à la condition réelle d'exécution.
  • Reformater le CASE OF en EVALUATE pour les sous-fonctions dépendantes d'une condition CASE OF. Cette option n'est disponible que si le Langage généré dans la Définition de la Bibliothèque du Programme, de l'Ecran ou du Serveur est D : COBOL II, 85, LE. Pour des explications, référez-vous à Cas particulier des boucles DO et CO.
Avertissement : Il est recommandé d'utiliser l'assistant pour créer les fonctions et sous-fonctions ou changer leur niveau. En effet, l'assistant réorganise automatiquement les étiquettes de fin (Fffnn-FN) des fonctions ou sous-fonctions existantes concernées par la mise à jour. Toute mise à jour manuelle implique une réorganisation manuelle de ces étiquettes.

Si vous faites un clic droit n'importe où dans la vue, vous pouvez sélectionner Générer le code dans le menu contextuel. Si vous avez mis à jour le design d'une instance générable (Programme ou Ecran par exemple), le code nouvellement généré intégrera les modifications du design tout en conservant tous les changements spécifiques entrés dans le code.

La préférence Gestion du contrôle de structure avant génération, accessible depuis Fenêtre > Préférences > Programmation pilotée par pattern > Patterns Pacbase contrôle que l'imbrication des sous-fonctions dans le COBOL est correcte avant la génération. Par défaut, elle bloque la génération si le contrôle détecte des erreurs.


Vos commentaires