Appel d'une Rubrique non définie
A partir du tableau ou de la section Appel d'une Rubrique non définie, vous pouvez saisir ou modifier le nom, le libellé, le format interne, l'usage, le nombre de répétitions et l'indicateur de tri de la Rubrique. Vous pouvez aussi ouvrir l'assistant vous permettant d'ajouter des contrôles sur la Rubrique et d'indiquer l'appartenance de la Rubrique à des sous-schémas. A partir de la section Appel d'une Rubrique non définie uniquement, vous pouvez redéfinir une Rubrique de même niveau COBOL et ouvrir les Lignes -G de l'appel.
- Nom
- Saisissez le nom de la Rubrique directement dans le tableau ou dans la section Appel
d'une Rubrique non définie. Si le nom de la Rubrique non définie existe en tant que
Rubrique définie dans le projet, une erreur apparaît sur la ligne d'appel de la Rubrique.
Certains noms de Rubriques ont un emploi réservé dans les Structures de Données, les Etats ou les Ecrans. Leur utilisation est donc interdite.
Tableau 1. Liste des noms réservés pour les Rubriques Nom Réservé pour FILLER Alignement des champs ENPR GRPR
ERUT
Contrôle d'erreurs des Rubriques dans les fichiers mouvements Contrôle d'erreurs des Segments dans les fichiers mouvements
Contrôle d'erreurs définies par l'utilisateur dans les fichiers mouvements
Vous pouvez remplacer l'appel d'une Rubrique non définie par une Rubrique définie. Pour cela, faites un clic droit sur l'appel d'une Rubrique non définie et sélectionnez Transformer l'appel de la Rubrique non définie en Rubrique définie. Dans l'assistant de sélection des Rubriques qui s'ouvre, sélectionnez ou créez une Rubrique. Si vous créez une Rubrique, le nom, le format, le libellé et l'usage de la Rubrique non définie sont automatiquement reportés dans l'assistant de création de la Rubrique définie mais vous pouvez les écraser. Cliquez sur Terminer pour créer la Rubrique.
Dans l'assistant de sélection des Rubriques, cliquez sur OK. La Rubrique définie remplace alors la Rubrique non définie dans le tableau. Son libellé, son format interne et son usage se mettent automatiquement à jour pour correspondre aux valeurs de la Rubrique définie. Son icône se transforme pour représenter une Rubrique définie. Les contrôles supplémentaires éventuellement indiqués pour l'appel de la Rubrique non définie sont supprimés.
- Libellé
- Saisissez le libellé identifiant l'instance. Il constituera un critère de recherche lors d'une recherche d'instance.
- Format interne
- Ce format, affiché aussi dans l'onglet Vue d'ensemble, est obligatoire,
sauf si la Rubrique est une Propriété. Ce format est utilisé lorsque la Rubrique est appelée dans un des composants suivants :Ce format est transféré automatiquement vers les Segments où se fait l'appel de Rubrique. Mais vous pouvez finalement choisir le format approprié dans l'onglet Lignes -CD des Programmes qui appellent ces Segments.
- Un fichier de l'application (fichier permanent, base de données, fichier temporaire)
- Un Ecran en entrée de la zone, si aucun format conversationnel n'est indiqué (voir la zone Type de ligne dans l'onglet Lignes -D de l'éditeur de Rubrique)
Vous devez assurer la compatibilité entre le format interne et le format d'entrée.
Vous devez saisir le format interne comme unepicture
COBOL, sans caractères d'édition.Notes :- Dans la majorité des cas, le format de type numérique d'une Rubrique est entré tel quel. Toutefois, s'il excède 10 caractères, vous devez supprimer le 9 après la virgule. Par exemple, le format S9(10)V9(3) qui occupe 11 caractères sera entré sous la forme S9(10)V(3) qui n'occupe que 10 caractères, mais il sera généré sous la forme S9(10)V9(3).
- Pour les Rubriques de type Unicode (type U), vous devez indiquer N(n) ou un format numérique signé ou non.
La longueur correspondant au format saisi est automatiquement calculée et affichée. Si vous modifiez le format, sauvegardez la Rubrique pour que la longueur soit recalculée.
La clause INTERNAL USAGE concerne ce format seul.Remarque : Pour les Rubriques de type Unicode, si le format interne est numérique signé, l'usage interne doit être X ou 1.Vous pouvez indiquer les formats symboliques suivants pour les Rubriques de type date.Tableau 2. Formats symboliques pour les dates Valeur Signification D Date sans siècle (JJMMAA ou MMJJAA) I Date sans siècle (AAMMJJ) E Date sans siècle (JJ/MM/AA ou MM/JJ/AA) S Date avec siècle (SSAAMMJJ) C Date avec siècle (JJMMSSAA ou MMJJSSAA) M Date avec siècle (JJ/MM/SSAA ou MM/JJ/SSAA) G Format grégorien (SSAA-MM-JJ) T Format TIME (HH:MM:SS) TS Format TIMESTAMP Remarque : Pour les formats incluant un séparateur (E, G, M, T), vous pouvez indiquer, à la suite du caractère représentant le format, un caractère représentant un séparateur différent de celui prévu par défaut dans le format. Par exemple, vous pouvez indiquer G/ dans cette zone pour générer un format grégorien SSAA/MM/JJ au lieu du format grégorien standard SSAA-MM-JJ.Pour l'utilisation des formats avec les différents types de Blocs Bases de Données, reportez-vous aux tableaux récapitulatifs du chapitre Colonnes : Rubriques dans le manuel DBD relationnelles SQL, disponible depuis le site de la documentation VisualAge Pacbase à l’URL suivante :
http://www-1.ibm.com/support/docview.wss?rs=37&context=SSEP67&uid=swg27005478
- Usage
- Cet usage correspond à la clause COBOL USAGE.
La clause USAGE d'une variable COBOL numérique permet d'indiquer la présentation interne de sa valeur. Il existe plusieurs usages en fonction des variantes COBOL adaptées au matériel.
Vous choisissez l'usage d'une Rubrique en fonction de la variante de génération et en fonction de la représentation interne souhaitée.Exemple : Si vous générez pour IBM®, l'usage C génère la clause USAGE BINARY et F la clause USAGE COMP-1.Les valeurs possibles pour l'usage dépendent du type de la Rubrique.
Tableau 3. Valeurs possibles pour l'usage d'une Rubrique (type R, P ou A) Valeur Signification C COMPUTATIONAL type IBM ou équivalent. BINARY type IBM et variante COBOL II.
D DISPLAY (option par défaut), tout matériel. Obligatoire pour les Rubriques date ou les Rubriques de format date.
F COMPUTATIONAL-1 IBM ou équivalent. COMPUTATIONAL-9 GCOS7.
COMPUTATIONAL-11 GCOS8.
Virgule flottante simple précision pour les bases relationnelles.
G COMPUTATIONAL SYNCHRONIZED RIGHT ICL 2900. COMPUTATIONAL-5 MICRO FOCUS.
H COMPUTATIONAL UNISYS 2200. BINARY UNISYS 2200 (COBOL 85).
I DISPLAY-1 UNISYS 2200. J COMPUTATIONAL-6 GCOS8. REAL UNISYS-A.
N COMPUTATIONAL-4 cadré sur un demi-octet. En cas de longueur impaire, le complément n'est pas généré. Vous devez donc l'ajouter. O COMPUTATIONAL-4 UNISYS 2200. P COMPUTATIONAL-1 GCOS8. Q COMPUTATIONAL GCOS8. R COMPUTATIONAL SYNCHRONIZED RIGHT, IBM ou équivalent. Cet usage doit être préféré à l'usage C lorsque les données binaires sont cadrées sur des adresses paires car les instructions COBOL les concernant sont plus performantes. T COMPUTATIONAL-3 PACKED SYNC GCOS8. U COMPUTATIONAL-1 UNISYS 2200. W COMPUTATIONAL-2 UNISYS 2200. COMPUTATIONAL-12 GCOS8.
Virgule flottante double précision pour les bases relationnelles.
X DISPLAY SIGN IS TRAILING SEPARATE CHARACTER UNISYS 2200, GCOS7, GCOS8, IBM et TANDEM. Y POINTER IBM and MICRO FOCUS. DB-KEY GCOS8.
Z Option réservée aux applications batch pour générer une clause BLANK WHEN ZERO. Elle ne peut être utilisée qu'avec un format d'édition. 0 COMPUTATIONAL-7 GCOS8. 1 DISPLAY SIGN LEADING SEPARATE UNISYS 2200, GCOS7, GCOS8, IBM et TANDEM. 2 DISPLAY-2 GCOS8 = DISPLAY, la comparaison de zones de ce type se fait suivant la commercial collating sequence
et non suivant la séquence standard.3 COMPUTATIONAL-3 IBM ou équivalent. COMPUTATIONAL GCOS7.
PACKED-DECIMAL UNISYS 2200 (COBOL 85).
4 DISPLAY-2 (unsigned packed decimal) NCR. 5 COMPUTATIONAL-1 GCOS7 et GCOS8. 6 COMPUTATIONAL-2 GCOS7 et GCOS8. 7 COMPUTATIONAL-5 ICL 2900. 8 COMPUTATIONAL BULL 66 et GCOS8. 9 COMPUTATIONAL-3 GCOS7 et GCOS8 Tableau 4. Valeurs possibles pour l'usage d'une Rubrique de type Large Object (type L) Valeur Signification 1 USAGE SQL TYPE IS BLOB (n|nK|nM|nG) pour les Rubriques utilisées en tant que colonnes dans les bases DB2. SQL-BLOB pour les Rubriques utilisées en tant que colonnes dans les bases ORACLE.
2 USAGE SQL TYPE IS CLOB (n|nK|nM|nG) pour les Rubriques utilisées en tant que colonnes dans les bases DB2. SQL-CLOB pour les Rubriques utilisées en tant que colonnes dans les bases ORACLE.
3 USAGE SQL TYPE IS DBCLOB (n|nK|nM|nG) pour les Rubriques utilisées en tant que colonnes dans les bases DB2. SQL-BFILE pour les Rubriques utilisées en tant que colonnes dans les bases ORACLE.
4 USAGE SQL TYPE IS BLOB-LOCATOR pour les Rubriques utilisées en tant que colonnes dans les bases DB2. 5 USAGE SQL TYPE IS CLOB-LOCATOR pour les Rubriques utilisées en tant que colonnes dans les bases DB2. 6 USAGE SQL TYPE IS DBCLOB-LOCATOR pour les Rubriques utilisées en tant que colonnes dans les bases DB2. 7 USAGE SQL TYPE IS BLOB-FILE pour les Rubriques utilisées en tant que colonnes dans les bases DB2. 8 USAGE SQL TYPE IS CLOB-FILE pour les Rubriques utilisées en tant que colonnes dans les bases DB2. 9 USAGE SQL TYPE IS DBCLOB-FILE pour les Rubriques utilisées en tant que colonnes dans les bases DB2. Tableau 5. Valeurs possibles pour l'usage d'une Rubrique de type Unicode (type U) Valeur Signification N NATIONAL (option par défaut) X NATIONAL SIGN IS TRAILING SEPARATE CHARACTER 1 NATIONAL SIGN IS LEADING SEPARATE CHARACTER
Pour les Rubriques non définies, une fois le format interne défini, sélectionnez une valeur pour l'usage (la valeur par défaut est D pour l'affichage).
- Répétitions
- Vous pouvez indiquer un nombre de répétitions au niveau d'une Rubrique élémentaire, d'un groupe ou d'un filler. Les restrictions COBOL portant sur la clause OCCURS s'appliquent.
- Indicateur de tri
- Cette zone vous permet d'identifier une Rubrique appartenant à un indicatif (ou argument) de tri
ou pouvant être utilisée comme clé d'accès à un fichier, une base de données ou à une Table
Pactables. Remarque : Il est vivement recommandé de dédier un Segment à un seul type d'utilisation. Toute Rubrique susceptible d'appartenir à un indicatif de tri doit être repérée par un caractère (chiffre ou lettre). Un même caractère ne peut être utilisé qu'une seule fois dans la description du Segment. Il est recommandé d'utiliser des suites (1, 2, 3 par exemple). L'ordre réel de tri du fichier sera indiqué au niveau du Programme, en listant les caractères repères dans l'ordre souhaité sur l'appel des Structures de données (-CD).
S'il s'agit d'un groupe, son format doit être indiqué explicitement au niveau du référentiel ou du Segment. Les indicatifs sont interdits pour une Rubrique qui redéfinit une autre Rubrique.
Tableau 6. Valeurs possibles de l'indicatif de tri pour Pactables Valeurs Commentaires U Clé d'accès de la Table. Cette valeur doit être indiquée sur la Rubrique groupe si la clé est sous-définie. S Rubrique définissant l'appartenance à un sous-système Tableau 7. Valeurs possibles de l'indicatif de tri pour les bases de données DL/1 Valeurs Commentaires U Clé unique pour bases de données DL/1. M Clé multiple pour bases de données DL/1. 1 à 9 Index secondaire. Toute autre valeur désigne un champ de recherche. Tableau 8. Valeurs possibles de l'indicatif de tri pour AS400 et les bases relationnelles Valeurs Commentaires 0 à 9 Clé fichier physique AS400. Bases de données relationnelles. V Colonne de format variable. Blanc Colonne de format fixe. W Pour DB2 SQL, SQL/DS et ORACLE, génération d'une VARCHAR, quelle que soit sa longueur. L Pour DB2 SQL, SQL/DS et ORACLE, génération d'une LONG VARCHAR. Remarque : les indicatifs sont interdits pour une Rubrique qui redéfinit une autre Rubrique.
- Redéfinition
- La redéfinition est possible pour un Segment. La clause COBOL
REDEFINES est alors générée. La Rubrique qui porte cette option
redéfinit la Rubrique de même niveau COBOL qui la précède sur les Lignes -CE
du Segment. Si une Rubrique qui redéfinit une autre Rubrique fait partie d'un groupe, elle est
considérée comme une Rubrique élémentaire. Elle doit être prise en compte dans le calcul du nombre
de Rubriques contenues dans un groupe (excepté pour les Segments de la base DL/1). Note : Lorsque les Rubriques sont redéfinies, leur longueurs respectives ne sont pas prises en compte. Cela reste à votre charge. Pour le calcul de la longueur d'adresse (affiché avec le bouton Afficher les longueurs et les positions), la longueur de Rubrique redéfinie est utilisée pour le calcul de l'adresse. Les Rubriques redéfinies sont ignorées lors de la génération D'un Bloc Base de Données.
- Pour redéfinir une Rubrique, sélectionnez Redéfinition. La nouvelle Rubrique apparaît sous la ligne Redéfinition dans la liste des Lignes -CE du Segment. Elle est précédée de la Rubrique de même niveau dans la liste des appels. Vous devez alors sélectionner une valeur pour la zone Répétitions dans la section Ensemble de redéfinitions.
Plus d'infos
Lignes -G
Cliquez sur Lignes -G pour spécifier des lignes -GC, -GE ou -GG pour l'appel de la Rubrique dans le Segment.