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 dans le menu contextuel du Programme généré. L'éditeur doit rester ouvert et sélectionné.
Affichage dans la vue
si le bloc de texte représentant le nœud est généré.
(facette Pacbase) si le bloc de texte représentant le nœud provient d'une ligne de détail d'une Macro.
si le bloc de texte représentant le nœud 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 :
est affiché là où le texte du nœud a été modifié et où la réconciliation n'a détecté aucune erreur.
est affiché là où vous avez ajouté un bloc de texte dans le nœud ou créé un nœud spécifique.
est affiché là où vous avez supprimé le texte entier d'un nœud (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
).
- Synchroniser la sélection de la vue avec la position du curseur dans l'éditeur de COBOL PDP. Par
défaut, cette synchronisation est désactivée. Pour l'activer, cliquez sur
.
- Afficher les lignes de détail des Macros (facette Pacbase), qui sont cachées par défaut. Pour ce faire, cliquez sur
dans la barre d'outils. Si vous demandez l'affichage des nœuds représentant le code spécifique (
) alors que les lignes de détail des Macros sont affichées, les lignes de détail de Macro disparaissent. De plus, l'état du bouton
est réinitialisé à Montrer les lignes de détail des Macros.
- Afficher uniquement les nœuds représentant du code spécifique, avec leur hiérarchie ascendante.
Pour ce faire, cliquez sur
dans la barre d'outils. Si vous demandez l'affichage des lignes de détail des Macros (
) alors que les nœuds représentant le code spécifique sont affichées, les lignes de code spécifique disparaissent. De plus, l'état du bouton
est réinitialisé à Montrer les nœuds utilisateurs.
- 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
ou
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 .
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.
- La colonne Niveau affiche le niveau hiérarchique des fonctions ou sous-fonctions.
- La colonne Type affiche la condition d'exécution des fonctions ou sous-fonctions. Cette colonne affiche une infobulle pour les sous-fonctions relatives insérées par rapport à une sous-fonction automatique d'un Ecran ou Serveur. L'insertion relative est indiquée par 2 caractères (*A pour une insertion avant, *P pour une insertion après, ou *R pour un remplacement).
- La colonne Condition affiche les conditions COBOL (contenu des lignes IF) des fonctions ou 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 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.
. Cliquez surGestion des fonctions et sous-fonctions spécifiques
- 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 les versions de 9.1.2 à 9.6 de Rational Programming Patterns, l'insertion en mode relatif dans l'éditeur COBOL PDP ne pouvait se faire que par l'intermédiaire de la Macro prioritaire associée à l'Ecran ou au Composant Applicatif. Cette Macro était identifiée par le nom de l'instance suivi de SP. A partir de la version 9.6.1, l'insertion en mode relatif s'effectue directement depuis le COBOL des Ecrans et Composants Applicatifs. Les changements induits par la génération 9.6.1 pour les fichiers COBOL générés avant cette version sont expliqués dans Mise à niveau de la génération.
L’assistant de création de fonctions et sous-fonctions 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.
- Le placement relatif par rapport aux fonctions automatiques du modèle Dialogue ou Composant
Applicatif, uniquement dans l'éditeur COBOL PDP. Les
annotations *@BEFORE, *@AFTER ou *@REPLACE
s’affichent au début de l’insertion, suivies de l'élément par rapport auquel l’insertion s’effectue.
Pour une insertion dans la fonction F80, l’accès personnalisé est indiqué.
Dans les Composants Applicatifs uniquement, l'annotation *@ATTACH s'affiche au début de la PROCEDURE DIVISION quand une fonction est rattachée à un bloc de Vue Logique, ou est rattachée à un bloc de déclaration de curseurs SQL sans positionnement (valeur Aucun dans Type d'action). Toutes les sous-fonctions de cette fonction bénéficient alors de ce rattachement. La fonction indiquée ne génère pas de code dans le COBOL.
Reportez-vous à Création de fonctions ou sous-fonctions spécifiques pour les explications détaillées sur l'assistant de création de fonctions ou sous-fonctions.
- 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, même si celles-ci contiennent du code généré. Si la sous-fonction supprimée est une sous-fonction relative ou si vous demandez la suppression de toutes les sous-fonctions dépendantes, une regénération est indispensable après la suppression. Dans ce cas, seul le bouton OK + Générer est disponible. Dans les autres cas, la regénération n'est pas indispensable et vous pouvez aussi cliquer sur OK.
- 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 titre, le niveau ou la
condition d'exécution de la fonction ou sous-fonction.Remarque : Si vous modifiez la condition d'exécution dans l'assistant de modification de fonctions ou sous-fonctions, une regénération démarre automatiquement dès que vous cliquez sur Terminer. La nouvelle condition d'exécution apparaît alors dans le code. Les éventuelles lignes de condition appartenant à l'ancienne condition d'exécution apparaissent sous forme de lignes de commentaires au début de la nouvelle fonction ou sous-fonction. Vous pouvez les supprimer ou les réutiliser.
- 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.
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.
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 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.