Editeur COBOL PDP
L'éditeur COBOL PDP fournit des fonctions supplémentaires par rapport à celles déjà implémentées par l'éditeur COBOL standard. Il vous permet de modifier le COBOL tout en voyant clairement l'origine des lignes de code (lignes générées ou lignes de code spécifique par exemple), les lignes supprimées ou écrasées et les éventuels problèmes. Pour naviguer facilement dans le code, vous pouvez utiliser la vue Structure du code généré, qui affiche un arbre avec les nœuds générés de l'instance.
Pour des explications sur les variables et fonctions générées dans le code, référez-vous à Description du COBOL généré à partir d'un Programme, Ecran ou Serveur.
Composition des lignes dans l'éditeur COBOL PDP
Dans l'éditeur COBOL PDP, les lignes de code se composent de deux parties, dont la séparation est matérialisée par une ligne verticale. La première partie est la ligne de code proprement dite. La deuxième partie, à partir de la colonne 73, affiche des informations supplémentaires qui dépendent de l'origine de la ligne de code.
- Le nom du Programme, de l'Ecran ou du Serveur pour les lignes générées à partir du design de l'instance et pour les lignes générées à partir des micro-patterns insérés dans les Macros appelées.
- Le nom de la Macro pour les lignes de généré provenant d'une Macro.
- L'identifiant de l'appel du micro-pattern dans les lignes générées à partir d'une insertion de micro-pattern dans le code spécifique du Programme, de l'Ecran ou du Serveur. L'identifiant est généré automatiquement lors de la génération du Programme, de l'Ecran ou du Serveur pour différencier les appels. Cet identifiant correspond au numéro d'ordre de l'appel. L'identifiant du premier micro-pattern appelé est 000001 et est incrémenté de 1 à chaque nouvel appel de micro-pattern.
- Une annotation DOT qui remplace le niveau 99 positionné dans les Macros Pacbase. Vous ne devez pas la supprimer car lors de la génération, elle ajoute un point à la fin de la ligne significative précédente.
- Une annotation dot qui remplace la notion de 99BL positionnée dans le code spécifique des Programmes, Ecrans ou Serveurs Pacbase. Vous ne devez pas la supprimer car lors de la génération, elle ajoute un point à la fin de la ligne significative précédente.
- Une annotation COA pour les lignes de code spécifique dont une opérande était COA dans Pacbase.
- Le niveau de la fonction ou sous-fonction sur la ligne de l'étiquette de cette fonction ou sous-fonction insérée dans le code spécifique du Programme, de l'Ecran ou du Serveur ou dans les Macros appelées. Le niveau s'affiche sous la forme lvnn, où nn représente le nombre niveau. Il n'y a pas de niveau sur les fonctions ou sous-fonctions générées à partir du design du Programme, de l'Ecran ou du Serveur.
Vous pouvez saisir certaines informations à partir de la colonne 73. Vous pouvez insérer manuellement des sous-fonctions avec un niveau. Vous pouvez aussi indiquer des DOT pour ajouter un point à la fin de la ligne significative précédente, par exemple si la ligne précédente vient d'une Macro.
Modification du code généré
Vous pouvez modifier le code généré pour l'adapter à vos besoins.
Des facilités d'insertion de code sont disponibles sous forme de micro-patterns et fragments. Il est fortement recommandé de ne pas modifier le code généré par un micro-pattern. Des avertissements dans la marge de gauche vous signalent les cas où l’insertion du code spécifique peut perturber la réconciliation. Ceci est le cas si vous écrasez une ligne générée par un micro-pattern et ajoutez un appel de micro-pattern dans le code généré par micro-pattern.
Vous pouvez ventiler des lignes de Macros à l'intérieur d'un bloc de code spécifique. Pour cela, vous devez encadrer les lignes de code spécifique par des balises. Un bloc devant apparaître avant une ligne de Macro doit débuter par une ligne contenant la balise *{BEFORE FFFSSLIN (où FFSS est la fonction ou sous-fonction et LIN le numéro de ligne) et finir par une ligne contenant la balise *}. Un bloc devant apparaître après une ligne de Macro doit débuter par une ligne contenant la balise *{AFTER FFFSSLIN et finir par une ligne contenant la balise *}

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'un Programme, Ecran ou Serveur, 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.
Création et modification de fonctions et sous-fonctions spécifiques
Ces actions sont disponibles uniquement dans la facette Pacbase.
Vous insérez des fonctions ou sous-fonctions spécifiques dans la PROCEDURE DIVISION. Pour ouvrir l'assistant de création, faites un clic droit et sélectionnez
. 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.- 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.
- 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.
Vous pouvez modifier le niveau ou le titre d'une fonction ou sous-fonction spécifique à partir de l'assistant de modification. Pour ouvrir cet assistant, placez le curseur à l’intérieur d'une fonction ou sous-fonction, faites un clic droit et sélectionnez
.Déphasage entre le design et le code généré


Spécificités de l’affichage dans l’éditeur COBOL PDP
La coloration PDP, en plus de celle de l'éditeur COBOL standard, vous permet de connaître l'origine des lignes. Par défaut, les lignes provenant des Macros sont kaki (facette Pacbase) et les lignes de code généré provenant du design sont grises. Les lignes de déclaration des micro-patterns sont roses et les lignes générées à partir de la déclaration des micro-patterns sont bleues. De plus, les étiquettes de début et de fin des fonctions et sous-fonctions Pacbase dans le code spécifique et le code provenant des Macros ont par défaut une couleur particulière et sont en gras.
Vous pouvez changer ces couleurs PDP par défaut en sélectionnant .
Gestion des avertissements
est affiché à l'endroit où des lignes de code ont été effacées ou écrasées. Si vous positionnez votre souris sur ce symbole, vous pouvez voir les lignes effacées ou les lignes écrasées par les lignes courantes.
est affiché dans les cas suivants :
- Sur les lignes où la réconciliation (synchronisation) détecte un problème
éventuel. La réconciliation est le processus qui intègre, après une génération, le nouveau design
d'une instance avec les changements spécifiques utilisateur. Un avertissement est affiché, par
exemple, si la réconciliation n'est pas sûre de l'endroit où le code spécifique doit être placé car
plusieurs endroits sont possibles, ou si le code généré écrasé a été modifié. Ces avertissements ont
un type PDP Reconciliation Marker dans la vue Erreurs.
Dans la facette Pacbase, des correctifs rapides sont disponibles pour les avertissements de réconciliation qui indiquent que les modifications de l'utilisateur ne peuvent pas être reconduites dans le code réconcilié car la position n'existe plus.
- Sur les lignes où une différence entre la génération Pacbase et la génération locale est détectée (facette Pacbase). Pour des explications sur la gestion des avertissements de migration Rational Programming Patterns, référez-vous à Gestion des avertissements dans la vue Erreurs ou l'éditeur COBOL PDP et Gestion des avertissements dans la vue Gestionnaire de validation.
- Sur les lignes où un micro-pattern a positionné un avertissement.
- Sur l'étiquette PROCEDURE DIVISION en cas d'écrasement de lignes de Macros dans la PROCEDURE DIVISION, ou sur la ligne de début du COBOL en cas d'écrasement de lignes de Macros hors de la PROCEDURE DIVISION. Des lignes de Macros sont écrasées si elles sont présentes dans deux Macros différentes ou si une Macro est appelée plusieurs fois au même emplacement.
- Sur l'étiquette PROCEDURE DIVISION d'un Serveur si l'emplacement d'une sous-fonction après une fusion de Macros semble anormale. L'avertissement vous demande de vérifier l'emplacement de la sous-fonction.
- Sur les lignes où la réconciliation (synchronisation) détecte un problème
éventuel. La réconciliation est le processus qui intègre, après une génération, le nouveau design
d'une instance avec les changements spécifiques utilisateur. Un avertissement est affiché, par
exemple, si la réconciliation n'est pas sûre de l'endroit où le code spécifique doit être placé car
plusieurs endroits sont possibles, ou si le code généré écrasé a été modifié. Ces avertissements ont
un type PDP Reconciliation Marker dans la vue Erreurs.
est affiché, en plus du symbole d'avertissement
, pour les avertissements de migration et les avertissements de réconciliation indiquant que le code de l'utilisateur ne peut pas être reconduit dans le code réconcilié car la position n'existe plus. Ce symbole indique que des correctifs rapides sont disponibles dans la vue Erreurs et dans l'éditeur COBOL PDP. Pour les afficher, cliquez sur le symbole. Vous pouvez aussi les afficher en faisant un clic droit sur une des lignes portant l'avertissement et en sélectionnant Correctif rapide, ou en cliquant sur une de ces lignes et en sélectionnant .
Les correctifs rapides suivants sont disponibles pour les avertissements de réconciliation relatifs au code de l'utilisateur :- Laisser le code en l'état (supprimer le problème)
- Laisser le code de l'utilisateur et son contexte à cette position
- Insérer le code spécifique à cette position
Par exemple, si vous avez remplacé l'appel d'une Macro par une autre Macro, des avertissements de réconciliation peuvent apparaître si la Macro initiale contenait des lignes de code spécifique. Les correctifs rapides vous permettent alors d'effectuer les actions suivantes :- Insérer uniquement les lignes de code spécifique de la Macro initiale là où elles était initialement insérées.
- Insérer les lignes de code spécifique de la Macro initiale avec leur contexte pour conserver la cohérence du code COBOL.
- Laisser le code tel quel. Les lignes de code spécifique de la Macro initiale sont supprimées.
Dans certains cas, vous devez réinsérer manuellement les blocs de code spécifique au bon endroit.
Ce cas se produit lorsque les étiquettes de la Macro ont été modifiées (code de la sous-fonction ou numéro de ligne). La vue Erreurs affiche alors un avertissement par bloc de code spécifique mal placé.
Pour corriger le problème, procédez de la façon suivante :- Placez votre curseur sur l'avertissement. Pour cela, double-cliquez sur l'avertissement dans la
vue Erreurs. Vous pouvez aussi accéder à l'avertissement directement dans
l'éditeur de COBOL PDP. Dans les deux cas, le symbole de
l'avertissement est décoré par le symbole du correctif rapide
.
- Cliquez sur l'avertissement. La liste des correctifs rapides s'affiche. Double-cliquez sur Insérer le code spécifique à cette position. Le bloc de lignes de code spécifique concerné est inséré.
- Coupez et collez les lignes pour les replacer au bon endroit. Dans la vue Erreurs, le numéro de ligne de l'avertissement traité est modifié.
- Cliquez sur l'avertissement et double-cliquez sur le correctif Laisser le code en l’état (Supprimer le problème). L'avertissement disparaît alors.
Si du code spécifique doit être scindé en plusieurs morceaux et inséré à plusieurs endroits dans le code généré, vous devez résoudre le problème manuellement. Sélectionnez le correctif Laisser le code en l’état (Supprimer le problème) puis déplacez manuellement les blocs de code spécifique aux endroits voulus.
Vous pouvez modifier l'affichage de l'éditeur PDP avec des filtres depuis la vue Structure du Code Généré.