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 noeuds générés de l'instance.
Vous pouvez ouvrir le fichier généré d'un Programme, Ecran
ou Serveur dans la facette
Pacbase, ou d'un Programme
COBOL ou Copybook COBOL dans la facette COBOL. Pour cela, depuis 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'affichage est identique (même coloration) quand le fichier est ouvert
localement ou sur le serveur. Cependant, si vous ouvrez le fichier
sur le serveur, vous ne pouvez pas le mettre à jour.
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.
Les informations affichées à partir de
la colonne 73 sont les suivantes :
- 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 la notion de 99BL positionnée
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.
Important : Dans la facette Pacbase, le contrôle syntaxique
du COBOL est désactivé pour toutes les instances dont la variante
de génération (indiquée dans l'onglet Définition)
n'est pas une variante IBM®.
Conseil : Pour les lignes qui ont des caractères à partir de la colonne
73, si vous souhaitez que ces caractères conservent leur position
initiale (pas de décalage vers la droite) lorsque vous insérez du
code ou du texte avant la colonne 72, cochez le choix Gérer
les numéros de séquence dans le menu .
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.
L’éditeur
PDP inclut de nombreuses
fonctions. Vous pouvez, par exemple, couper, copier, coller, filtrer
les lignes, déboguer, comparer, afficher l’aide à la saisie en appuyant
sur les touches Ctrl et espace.
Limite : Les fonctions Annuler et Répéter de
l’éditeur sont désactivées après une génération. La pile de modifications
pour annuler et répéter est vide après chaque génération. Les modifications
faites avant une génération ne peuvent donc pas être défaites par
la fonction Annuler. Pour supprimer les modifications
(génération comprise) effectuées avant la génération, il est toujours
possible de sortir de l’éditeur sans sauvegarder ou d’utiliser la
fonction Rétablir le fichier.
L'éditeur COBOL
PDP signale
un état modifié en affichant un astéristique (*) dans l'onglet de
l'éditeur quand le fichier généré est directement modifié. Pour annuler
les modifications, faites un clic droit dans l'éditeur et sélectionnez
Rétablir
le fichier.
Remarque : Dans les éditeurs de design, vous pouvez
modifier des designs ayant participé à la génération. Dans ce cas,
l'éditeur COBOL
PDP ne
signale pas un état modifié. Il signale uniquement la désynchronisation
entre le design et le code généré avec l’icône

. Si vous
fermez les éditeurs de design sans sauvegarder, puis fermez l'éditeur
COBOL
PDP et l'ouvrez
à nouveau, il n'apparaît plus déphasé. Il est à noter que si une instance
est ouverte dans plusieurs éditeurs de design simultanément, les modifications
sont conservées tant que vous n'avez pas fermé le dernier de ces éditeurs
sans enregistrer.
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.
Insertion de fonctions ou sous-fonctions
Cette
insertion est disponible uniquement dans la facette Pacbase.
Vous pouvez
insérer des fonctions ou sous-fonctions dans la PROCEDURE
DIVISION à partir d’un assistant de création. Pour l’ouvrir,
faites un clic droit dans l’éditeur et sélectionnez Créer
une fonction ou sous-fonction. 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 :
- Un titre pour une fonction ou un commentaire pour une 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,
- Des informations variables selon l’insertion :
- Pour une insertion en mode absolu : 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).
- Pour une insertion en mode relatif : le placement par rapport
aux fonctions automatiques. Les indications *@BEFORE, *@AFTER ou *@REPLACE s’affichent
au début de l’insertion, suivies de la catégorie, du Segment ou de
la Rubrique par rapport auxquels l’insertion s’effectue. Pour une
insertion dans la fonction F80, l’accès personnalisé
est indiqué.
Vous pouvez modifier le niveau d’une sous-fonction spécifique
depuis l’assistant de création d’une sous-fonction. Pour ce faire,
placez le curseur à l’intérieur de cette sous-fonction, faites un
clic droit et sélectionnez Changer le niveau d’une sous-fonction.
Cette action est aussi disponible depuis la vue Structure
du code généré.
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.
Vous
pouvez déplacer, copier-coller ou supprimer des fonctions ou sous-fonctions
depuis le menu contextuel de la vue Structure du code généré.
Déphasage entre le design et le code généré
Lorsque
le design de l’instance générée est modifié, il peut y avoir un déphasage
entre le design et le code généré. Dans ce cas, l’icône

apparaît,
suivie d’un caractère spécial dans le titre de l’onglet de l’éditeur
PDP. Le caractère
spécial par défaut est
> mais vous pouvez le
modifier en sélectionnant . Ces signaux
vous préviennent qu'une nouvelle génération est requise. Vous pouvez
regénérer globalement tous les fichiers déphasés par rapport au design
depuis la vue
Gestionnaire de génération.
Remarque : Tout
déphasage est également signalé dans la vue
Design de
l’instance. Le bouton permettant la génération se colorise alors (

)
pour signifier que
Générer est recommandé suite à des modifications
dans le design. Une fois la génération effectuée, le déphasage
disparaît et le bouton reprend son aspect initial.
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, les lignes
de code généré provenant du design sont grises et celles provenant
de l'insertion de 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 .
Deux symboles
en lien avec Rational Programming
Patterns peuvent être affichés dans la marge :
-
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 :
Vous pouvez modifier l'affichage dans
l'éditeur PDP avec
des filtres depuis la vue Structure du Code Généré.