Ces catégories contiennent les mêmes informations (excepté l'appel des Etats) que l'onglet Lignes -CD et la WORKING STORAGE SECTION du Programme. Elles affichent les caractéristiques des fichiers appelés en tant que ressources externes et internes du Programme. Ces fichiers sont représentés par des Structures de Données.
Si vous faites un clic droit sur les catégories Entrée, Sortie, Entrée-Sortie et Fichiers de travail, vous pouvez ajouter un fichier. Ce choix ouvre une boîte de sélection dans laquelle vous devez sélectionner une Structure de Données non utilisée dans le Programme. Vous devez indiquer son Code généré.
Le niveau d'appel de Structure de Données (ligne représentant un fichier appelé) affiche le code généré de la Structure dans la première colonne et le nom externe de la Structure dans la seconde colonne.
A partir d'un clic droit sur un appel de Structure de Données, vous pouvez ajouter une Structure de Données à l'appel.
Si vous développez la ligne d'appel de Structure de Données, vous voyez ses Attributs et sa Description, qui contiennent les zones suivantes :
Pour l'organisation Y: Pacbench C/S, cette zone doit contenir le code de la clause COBOL COPY qui représente la zone de communication du Composant Applicatif Pacbench C/S accédant à la Vue Logique.
Pour les organisations SQL, cette zone doit contenir le code du Bloc SQL.
Pour toutes les autres Structures de Données, le contenu de cette zone dépend de la variante indiquée dans l'onglet Définition du Programme.
Variante | Contenu de la zone |
---|---|
1: IBM DOS/VSE | Vous pouvez indiquer trois types d'information
:
|
X: IBM MVS/ESA OS/390 | La clause ASSIGN (pour les
fichiers séquentiels, organisation S: séquentiel)
de nom externe SYSnnn est générée sous forme
: SYSnnn-UT-....-S-SYSnnn. Pour OS/390 : DDNAME |
4: BULL GCOS7 | INTERNAL-FILE-NAME |
5: BULL GCOS8 | File-code (2 caractères) |
F: TANDEM | Nom externe |
I: DEC/VAX VMS | Nom externe |
Valeur | Commentaire |
---|---|
I: Entrée | Sélectionnable avec les utilisations suivantes : C: Consultation, T: Table stockée en mémoire, X: Table partiellement stockée en mémoire, M: Mouvement à contrôler, N: Mouvement à ne pas contrôler et P: Principal |
O: Sortie | Sélectionnable avec les utilisations suivantes : D: Fichier en sortie, S: Sélectionné, R: Résultat, E: Mouvement avec détection d'erreurs, I: Impression directe et J: Impression indirecte. |
E: Sortie avec la clause OPEN EXTEND | Sélectionnable avec les variantes suivantes : 4: BULL GCOS7, 5: BULL GCOS8, 0: IBM MVS/ESA OS/390, U: UNYSIS 2200 Series, F: TANDEM, I: DEC/VAX VMS, K: ICL 2900. |
R: Entrée-Sortie | Fichiers en accès direct seulement |
T: Tri | En entrée ou sortie suivant l'utilisation |
Valeur | Commentaire |
---|---|
C: Consultation | Structure de Données quelconque en entrée |
D: Fichier en sortie | Structure de Données quelconque en sortie |
P: Principal | Structure de Données en entrée susceptible d'être mise à jour (par une Structure de Données d'utilisation M: Mouvement à contrôler ou N: Mouvement à ne pas contrôler) |
R: Résultat | Structure de Données principale après mise à jour en accès séquentiel (si la Structure de Données contient des clauses OCCURS DEPENDING, le résultat doit être déclaré en utilisation D: Fichier en sortie). |
S: Sélectionné | Structure de Données en sortie extraite d'une
autre Structure de Données. A la différence d'une Structure de Données. D: Fichier en sortie, sa description en zone de sortie n'est pas détaillée. Lorsque la Structure de Données contient des Rubriques dont le nombre de répétitions dépend d'un compteur (OCCURS DEPENDING ON), son utilisation doit être D: Fichier en sortie. |
T: Table stockée en mémoire | Structure de Données destinée à être stockée intégralement en mémoire. La table de stockage est générée en fonction du nombre de répétitions indiqué sur la Définition du Segment. Il n'est pas possible de sélectionner plus de 50 Segments par Structure de Données |
X: Table partiellement stockée en mémoire | Structure de Données stockée partiellement en
mémoire (seules les Rubriques autres que les fillers sont décrites). Les Rubriques élémentaires autres que les fillers, sont limitées à 10 pour la partie commune (code Structure excepté) et à 29 pour chaque partie spécifique. |
M: Mouvement à contrôler | Structure de Données en entrée à contrôler pouvant
mettre à jour d'autres Structures de Données (fonctions générées
: 30 à 76). Remarque : Il n'est pas
possible de déclarer plus d'une Structure de Données d'utilisation M:
Mouvement à contrôler ou N: Mouvement à ne
pas contrôler par Programme.
|
N: Mouvement à ne pas contrôler | Structure de Données en entrée pouvant mettre
à jour d'autres Structure de Données (fonctions générées : 30, 33, 39, 70 à 76). Remarque : Il
n'est pas possible de déclarer plus d'une Structure de Données
d'utilisation M: Mouvement
à contrôler ou N: Mouvement à ne pas contrôler par
Programme.
|
E: Mouvement avec détection d'erreurs | Rapport de contrôle: Structure de Données mouvement
en sortie. La description comporte ou non les Rubriques facultatives. Dans le cas où il n'y a pas de sélection de celles-ci, la description sera précédée des Rubriques ENPR et GRPR calculées lors de la génération et reprenant les vecteurs EN-PRR et GR-PRR. |
I: Impression directe | Impression directe (ou par SYSOUT en
OS IBM) La Structure commune éventuellement présente dans la description de l'Etat ne sera pas prise en compte. |
J: Impression indirecte | Impression indirecte à traiter par un programme
de spool. Cette valeur suppose l'utilisation de la Structure 00 pour définir une partie commune à toutes les lignes. |
Y: Table de codification interne |
Elle permet d'obtenir une description de Structure de Données dans une zone particulière (zone de communication avec les Gestionnaires de Bases de Données, LINKAGE SECTION) ou en tête de la WORKING-STORAGE SECTION.
Cette zone est réservée aux Structures de Données en organisation L: Working avec placement ou W: Description de fichier en Working.
Pour effectuer une description de Structure de Données en WORKING-STORAGE SECTION, il est préférable de l'indiquer directement dans le code COBOL avec un micro-pattern.
Valeur | Signification |
---|---|
00 | La description de la Structure de Données est insérée après toutes les lignes de travail (valeur par défaut). |
Caractères alphabétiques | La description de la Structure de Données est
insérée après toutes les lignes de travail dont le numéro de ligne
à 5 positions commence par cette valeur. Les lignes de travail et la description se trouvent, dans le programme généré, en tête de WORKING-STORAGE SECTION, avant les descriptions des Structures de Données d'organisation W: Description de fichier en Working et dont le code généré est supérieur à cette valeur. Remarque : Ne
choisissez pas un emplacement COBOL identique
au code généré d'une Structure de Données
d'organisation W: Description de fichier en Working.
|
Caractères alphanumériques | La description de la Structure de Données est
insérée après toutes les lignes de travail dont le numéro de ligne
à 5 positions commence par cette valeur. Les lignes de travail et la description se trouvent, dans le programme généré, en fin de WORKING-STORAGE SECTION parmi les zones-utilisateur. |
L'argument (ou indicatif) d'une Structure de Données se compose, au niveau d'un Programme, de 9 Rubriques au maximum. Ces 9 Rubriques définissent 9 niveaux de rupture de séquence au maximum. Le niveau indiqué est le niveau mineur sur lequel on désire déceler ces ruptures. L'option par défaut est O. Ces Rubriques sont indiquées dans la zone Argument de tri.
Lorsque la synchronisation se limite à deux Structures de Données, les niveaux doivent être égaux (non contrôlé).
Lorsqu'il y a plus de deux Structures de Données, certaines peuvent être synchronisées à un niveau majeur par rapport aux autres.
Ces Rubriques sont identifiées dans la zone Clés de tri de l'onglet Lignes -CE du Segment.
Si cette zone n'est pas utilisée, l'indicatif principal (Rubriques de rang 1 à 9) sera repris par défaut.
Elle doit contenir une valeur numérique qui correspond à la taille du bloc, c'est à dire la taille de l'enregistrement physique. Le zéro et les espaces sont équivalents.
Si la Structure de Données a une Utilisation àP: Principal, vous devez indiquer le code généré de la Structure de Données résultat en sortie.
Si la Structure de Données a une Utilisation àR: Résultat ou D: Fichier en sortie, vous devez indiquer le code généré de la Structure de Données principale en entrée.
Tant qu'aucune rupture n'est détectée à ce niveau, les enregistrements traités appartiennent au même mouvement.
Une rupture à ce niveau conditionne, par exemple, l'initialisation des variables d'erreurs associées au mouvement et le contrôle de correspondance avec la ou les Structures de Données principales.
Valeur | Variante |
---|---|
R: Lecteur | 1: IBM DOS/VSE |
P: Perforatrice | 1: IBM DOS/VSE |
S: Jeu de caractères EBCDIC | 5: BULL GCOS8 et U: UNYSIS 2200 Series |
C: Jeu de caractères ASCII | 5: BULL GCOS8 |
O: Pas de génération de l'option OPTIONAL | 4: BULL GCOS7 et 5: BULL GCOS8 |
A: Option d'ouverture de fichier ALLOWING ALL et lecture séquentielle option & REGARDLESS | I: DEC VAX VMS |
Si vous la valorisez, il est recommandé d'indiquer une chaîne de caractères, comprenant 10 caractères maximum, en respectant le format suivant :
Vous saisissez ici la Rubrique clé dans l'enregistrement, qui est obligatoire pour les fichiers en organisation indexée.
Vous saisissez ici le code mnémonique de la Rubrique permettant d'identifier par ses valeurs les différents types d'enregistrements du fichier.
Cette Rubrique se trouve obligatoirement dans la partie commune (code enregistrement 00).
Ce code peut également être précisé au niveau de la Définition du Segment partie commune, dans la zone Valeur code structure et sert alors de valeur par défaut au niveau de la génération.
Le premier caractère doit être alphabétique mais le second peut être numérique ou alphabétique.
Il est conseillé, lorsqu'une Structure de Données ou un Etat n'est utilisé qu'une fois dans un programme, de prendre comme code généré le nom de l'instance (choisi lors de la création de l'instance). Cependant si la même instance est appelée plusieurs fois dans un programme, vous pouvez différencier ces appels.
Vous pouvez paramétrer le code de l'instance dans une Macro avec la valeur $n.
Vous pouvez indiquer si la Structure de Données doit être générée dans la WORKING-STORAGE SECTION, ou sous la forme de description d'une Table Pactables.
Vous pouvez aussi utiliser cette zone pour indiquer des descriptions base de données lorsque le module Description Bases de Données n'est pas utilisé. Les valeurs sont prises en compte par les Programmes de l'application.
Valeur | Commentaire |
---|---|
S: Séquentiel | Ceci est la seule valeur autorisée pour un Etat, un Fichier Séquentiel ou de Tri. |
V: VSAM, UFAS | Ceci est l'une des deux valeurs possibles (avec I:
Indexé) pour une Structure de Données de type Séquentiel
Indexé. Cette valeur fait générer la clause FILE STATUS et la zone correspondante, à condition que celle-ci soit déclarée dans la zone Zone complémentaire de la section Définition d'une ligne de -CD de l'onglet 'Lignes -CD' (la fenêtre qui s'ouvre quand vous appuyez sur le bouton Plus d'infos). |
I: Indexé | Ceci est l'une des deux valeurs possibles (avec V:
VSAM, UFAS) pour une Structure de Données de type Séquentiel
Indexé. Pour un fichier ISP de code LE, seront
générées en WORKING-STORAGE SECTION 3 zones :
|
G: Description de table | Cette valeur provoque la génération de la zone de communication avec le module Pactables. |
L: Working avec placement | Les descriptions de fichiers sont générées dans la WORKING-STORAGE SECTION, à l'emplacement que vous indiquez dans la zone Emplacement COBOL |
W: Description de fichier en Working | Les descriptions de fichiers sont générées dans
la WORKING-STORAGE SECTION, avant la constante DEBUT-WSS. Une Structure de Données ainsi décrite sera utilisée comme zone de travail ou traitée à travers une fonction d'un système de gestion généralisé (Bases de Données par exemple). |
Y: Pacbench C/S | Appel de la Clause COPY qui correspond à la zone de communication entre le client et le serveur (Composants Applicatifs Pacbench C/S uniquement). |
X: Commentaire | Structure de Données mentionnée à titre de commentaire, ne donne lieu à aucune génération. |
2: Segments DB2 ou VAX/SQL | Génération-Description d'un Segment DB2 ou VAX/SQL. Seuls les accès physiques ne sont pas générés. La structure des indicateurs variables correspondant aux colonnes de la table DB2 ou VAX/SQL est toujours générée. |
Q: DB2 ou ALLBASE/SQL | (IBM) Description de Bases de Données SQL/DS,
DB2/2 ou DB2/6000. (HP 3000) Description de Bases de Données ALLBASE/SQL (MICRO FOCUS) Description de Bases de Données DB2/2 ou DB2/6000. |
D: DL/1, IDS I et II | Réservé à la Description des Segments ou records de différentes Bases de Données, DL/1, IDS II, (suivant la variante du Programme), dans la génération de DBD, SYSGEN, schémas ou Programmes d'application (suivant la nature du Programme). |
B: IDMS | IDMS |
A: ADABAS | ADABAS |
T: Fichiers 'TOTAL' | Fichiers 'TOTAL' |
O: ORACLE (< V6) | ORACLE (< V6) |
C: INTEREL RDBC ou RFM | INTEREL RDBC ou RFM |
R: RDMS | RDMS |
4: DB2/400 | DB2/400 |
M: DATACOM DB | DATACOM DB |
N: NONSTOP SQL | NONSTOP SQL |
P: ORACLE V6 et V7 | ORACLE V6 et V7 |
9: INFORMIX, SYBASE, INGRES/SQL, ou SQL SERVER | INFORMIX, SYBASE, INGRES/SQL, ou SQL SERVER |
Z: Structures de Données pour SOCRATE/CLIO | Structures de Données pour SOCRATE/CLIO |
F: FORMAL pour SOCRATE/CLIO | FORMAL pour SOCRATE/CLIO |
Valeur | Commentaire |
---|---|
E : Entrée | Valeur par défaut pour les fichiers d'utilisation M: Mouvement à contrôler, N: Mouvement à ne pas contrôler, E: Mouvement avec détection d'erreurs |
I: Interne | Valeur par défaut pour les fichiers d'utilisation autre que M: Mouvement à contrôler, N: Mouvement à ne pas contrôler, E: Mouvement avec détection d'erreurs |
S: Edition |
Cette zone est utilisée avec le module Pactables pour indiquer le sous-schéma qui va être décrit. Le sous-schéma est numérique, de 0 à 9 (0 correspond au sous-schéma 10)
Valeur | Signification |
---|---|
Enregistrements redéfinis | Pas de clause VALUE générée |
1: Enregistrements sans valeurs initiales | Enregistrements à la suite (partie commune suivie
des différentes parties spécifiques), sans valeur initiale ni répétition
d'enregistrements. Si la description de la Structure de Données apparaît en FILE SECTION COBOL, la zone Nombre de niveaux du Segment doit avoir la valeur 2: niveaux COBOL 01 pour SD et 02 pour Segments. |
2: Enregistrements avec valeurs initiales | Enregistrements à la suite avec prise en compte
des valeurs initiales spécifiées sur les lignes d'appel des Rubriques
dans les Segments (onglet Lignes -CE), ou à
défaut initialisation à blanc ou zéro selon le format. Les valeurs initiales seront aussi générées pour les zones répétées, si le Langage généré de la Bibliothèque est D: COBOL II, 85, LE. |
3: Enregistrements avec occurs (avec niveau 2) | Enregistrements à la suite avec prise en compte
du nombre de répétitions indiqué dans la zone Nombre de
postes de l'onglet Définition du
Segment, sans valeurs initiales. Aucune clause VALUE ne sera générée. Si la description de la Structure de Données apparaît en FILE SECTION COBOL, la zone Nombre de niveaux du Segment doit avoir la valeur 2: niveaux COBOL 01 pour SD et 02 pour Segments. Ce type de description ne peut être employé pour une Structure de Données ayant un nombre de répétitions sur la partie commune (indiquez dans ce cas une Organisation W: Description de fichier en working et une Utilisation T: Table stockée en mémoire). |
4: Enregistrements avec occurs (avec niveau 3) | Enregistrements à la suite avec prise en compte
du nombre de répétitions indiqué dans la zone Nombre de
postes de l'onglet Définition du
Segment. La zone Nombre de niveaux du Segment doit avoir la valeur 3: niveau COBOL pour SD et Segments dépendant du type de description. Remarque spécifique au module Dialogue : L'indice n'est pas généré si le type de description est 4: Enregistrements avec occurs (avec niveau 3) et le Nombre de niveaux du Segment est 3: niveau COBOL pour SD et Segments dépendant du type de description, Le niveau 02 permet d'accéder à la table constituée par la répétition d'un même enregistrement (ddssT). Le niveau 01 regroupe l'ensemble des informations de la Structure de Données (partie commune et parties spécifiques répétées ou non). Ce type de description ne peut être employé pour une Structure de Données ayant un nombre de répétitions sur la partie commune (indiquez dans ce cas une Organisation W: Description de fichier en working et une Utilisation T: Table stockée en mémoire). |
Valeur | Commentaire |
---|---|
1: niveau COBOL 01 pour SD et Segments | Si la description de la S.D. apparaît en FILE
SECTION COBOL, les Segments doivent obligatoirement être
redéfinis. Si la Structure de Données est sans partie commune avec une description de type non redéfinie, le niveau de S.D. n'apparaît que lorsque le Type de description est positionné à Enregistrements redéfinis. |
2: niveaux COBOL 01 pour SD et 02 pour Segments | Si le Type de description est positionné à Enregistrements redéfinis, la S.D. et les Segments seront décrits au niveau 02 (Utilisez de préférence une organisation L: Working avec placement et définissez les nombres de niveaux supérieurs dans les zones de travail). |
3: niveau COBOL pour SD et Segments dépendant du type de description | Niveau 02 pour S.D. et niveau 03 pour Segments
lorsque le Type de description est positionné
à 1: Enregistrements sans valeurs initiales, 2:
Enregistrements avec valeurs initiales ou 3:
Enregistrements avec occurs (avec niveau 2). Niveau 01 pour S.D. et 03 pour Segments si le Type de description est positionné à 4: Enregistrements avec occurs (avec niveau 3). Niveau 03 pour S.D. et Segments si le Type de description est Enregistrements redéfinis. |
4: niveau COBOL 02 pour Rubriques, absence de niveau SD et Segments | Réservé aux S.D. avec une organisation L:
Working avec placement et une Utilisation D:
Fichier en sortie. Niveau 02 pour Rubriques groupe ou Rubriques élémentaires n'appartenant pas à un groupe. Les Rubriques élémentaires appartenant à une Rubrique groupe apparaissent mais les niveaux S.D et Segments disparaissent. Le niveau 01 doit être défini dans la WORKING-STORAGE SECTION. |
5: niveau COBOL 01 pour Rubriques, absence de niveau SD et Segments | Réservé aux S.D. avec une organisation L:
Working avec placement ou W: Description de
fichier en working et une Utilisation D:
Fichier en sortie. Niveau 01 pour les Rubriques groupe ou Rubriques élémentaires n'appartenant pas à un groupe. Les Rubriques élémentaires appartenant à un groupe apparaissent mais les niveaux S.D. et Segments disparaissent. |
Si vous développez le niveau d'appel de la Structure de Données, vous voyez les Structures de Données incluses dans l'appel.
A partir d'un clic droit sur une de ces Structure de Données, vous pouvez lui ajouter des Segments.
Le niveau Structure de Données affiche le nom de la Structure dans la première colonne et le libellé de la Structure dans la seconde colonne.
Le niveau Segment est imbriqué dans le niveau Structure de Données. Les deux premiers caractères du Segment représentent la Structure de Données et les deux derniers représentent le code généré du Segment.
Le niveau Segment affiche le nom du Segment dans la première colonne et le libellé du Segment dans la seconde colonne.
Si vous développez ce niveau, vous voyez le code généré du Segment, qui est éditable.
La composition de chaque Segment (équivalente à l'onglet Lignes -CE) est affichée dans le niveau imbriqué, avec une ligne par Rubrique appelée. Si vous développez la première ligne d'une Rubrique appelée, vous pouvez voir et modifier son nom et son libellé. Ses Attributs contiennent les mêmes informations que l'onglet Définition de la Rubrique, excepté l'héritage qui ne peut être indiqué que dans l'onglet.