Micro-pattern d'appel de Structure de Données dans les zones de travail et de liens
Ce micro-pattern appelle une Structure de Données dans les zones de travail et de liens d'un Programme, Ecran, Serveur ou d'une Macro. Après la regénération du Programme, le micro-pattern est complété avec la description de la Structure de Données.
Format de saisie
Vous devez saisir une ligne d'appel du micro-pattern avec ses différents paramètres.
*!WF DSL=GD DSP=G1 SEL=01 FOR=I LEV=1 ORG=2 DES=1 SSC=3 BLC=BDT000 GRP=N
où
:- *! est la balise de début du micro-pattern, obligatoire. Le * doit être saisi en colonne 7, réservée aux commentaires dans le code COBOL, et le ! doit être saisi en colonne 8.
- WF est l'identifiant du micro-pattern, obligatoire.
Seul le paramètre DSL=, qui spécifie le code de la Structure de Données à utiliser, est obligatoire. Si les autres paramètres ne sont pas renseignés, leurs valeurs par défaut sont prises en compte.
Les paramètres peuvent être saisis dans n'importe quel ordre.
Les paramètres
- DSL=
- Indiquez le code de la Structure de Données à utiliser. Ce paramètre est obligatoire.
- DSP=
- Indiquez le code de la Structure de Données dans le programme.
Le premier caractère doit être alphabétique mais le second peut être numérique ou alphabétique. Ce code permet de différencier plusieurs appels de la même Structure de Données dans un Programme.
Si ce code n'est pas renseigné, le code indiqué dans le paramètre DSL est pris en compte.
- SEL=
- Indiquez une sélection de Segments de cette Structure de Données.
Si ce paramètre n'est pas renseigné, tous les Segments de la
Structure sont pris en compte.
Vous devez saisir les deux derniers codes des Segments les uns à la suite des autres, sans séparation.
Vous pouvez renommer un Segment en saisissant un signe = entre le Segment initial et le Segment renommé (par exemple : 01=02).
- FOR=
- Indiquez le format des Rubriques appelées dans les Segments de la Structure de Données (interne (I), entrée (E) ou sortie (S)). Si ce paramètre n'est pas renseigné, le format interne est pris en compte
- LEV=
- Indiquez le niveau COBOL. Si ce paramètre n'est pas renseigné,
le niveau 1 est pris en compte.
Utilisé conjointement avec le paramètre DES (type de description), ce paramètre définit le nombre niveau COBOL des descriptions des Structures de Données, Segments et Rubriques. Dans les descriptions ci-après on entend par "niveau S.D.," le niveau COBOL de la zone DD00 (éventuellement 1-DD00, 2-DD00).
Les valeurs possibles sont :Tableau 1. Valeurs possibles du nombre de niveau du Segment Valeurs Commentaires 1 Niveau COBOL 01 pour SD et Segments (valeur par défaut) 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 paramètre DES est à blanc (enregistrements redéfinis).
2 Niveaux COBOL 01 pour SD et 02 pour Segments Si le paramètre DES est à blanc (enregistrements redéfinis). la S.D. et les Segments seront décrits au niveau 02.
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 paramètre DES est à 1 (enregistrements sans valeurs initiales), 2 (enregistrements avec valeurs initiales) ou 3 (enregistrements avec répétitions (avec niveau 2)).
Niveau 01 pour S.D. et 03 pour Segments si le paramètre DES est à 4 (enregistrements avec répétitions (avec niveau 3)).
Niveau 03 pour S.D. et Segments si le paramètre DES est à blanc (enregistrements redéfinis).
4 Niveau COBOL 02 pour les Rubriques de premier niveau. 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 les Rubriques de premier niveau. Les Rubriques élémentaires appartenant à une Rubrique groupe apparaissent mais les niveaux S.D et Segments disparaissent.
6 Niveau COBOL 02 pour les Rubriques de premier niveau. Les Rubriques élémentaires appartenant à une Rubrique groupe, les niveaux S.D et Segments disparaissent.
Le niveau 01 doit être défini dans la WORKING-STORAGE SECTION.
Valable uniquement pour un Ecran standard Dialogue.
7 Niveau COBOL 01 pour les Rubriques de premier niveau. Les Rubriques élémentaires appartenant à une Rubrique groupe, les niveaux S.D et Segments disparaissent.
Valable uniquement pour un Ecran standard Dialogue.
- DES=
- Indiquez le type de description de l'enregistrement qui va être
utilisé dans le programme COBOL.
Ceci permet d'obtenir plusieurs modes d'agencement des enregistrements d'une Structure de Données à partir des mêmes descriptions en Bibliothèque.
Si ce paramètre n'est pas renseigné, la valeur à blanc (enregistrements redéfinis) est prise en compte.
Tableau 2. Valeurs possibles du type de description Valeurs Commentaires (blanc) Enregistrements redéfinis 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, le paramètre LEV 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, 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 prise en compte du nombre de répétitions (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.
Si la description de la Structure de Données apparaît en FILE SECTION COBOL, le paramètre LEV 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.
4 Enregistrements avec prise en compte du nombre de répétitions (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.
Le paramètre LEV 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 paramètre LEV à 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.
- ORG=
- Indiquez l'organisation de la Structure de Données si la
Structure de Données doit être générée sous forme d'une description
de Table Pactables ou de base de données (quand le module de description
des bases de données n'est pas utilisé).
Tableau 3. Valeurs possibles de l'organisation Valeurs Commentaires A Réservé à la description des fichiers ADABAS dans les programmes de définition ou d'utilisation de la base de données. D Réservé à la description des Segments ou enregistrements 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). G Description de Table Cette valeur provoque la génération de la zone de communication avec le module Pactables.
M Réservé à la description des structures d'une base de données DATACOM DB. N Réservé à la description des structures d'une base de données NONSTOP SQL. P Réservé à la description des structures d'une base de données ORACLE V.6 et V.7. Q Réservé à la description des structures d'une base de données SQL/DS, DB2/2 ou DB2/6000 (IBM), ALLBASE/SQL (HP3000), DB2/2 ou DB2/600 (MICRO FOCUS). 2 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. 9 Réservé à la description des structures d'une base de données INFORMIX, INGRES/SQL, SYBASE et SQL SERVER.
- SSC=
- Indiquez un sous-schéma.
Un sous-schéma est un groupe de Rubriques présentes dans la composition du Segment. Ce paramètre est utilisé 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).
Si ce paramètre n'est pas renseigné, aucun sous-schéma n'est sélectionné.
- GRP=
- Indiquez si les Segments ne doivent pas être regroupés par Structure
de Données dans le code généré d'un Programme batch (GRP=N).
Si ce paramètre n'est pas renseigné, tous les Segments de la même Structure de Données seront regroupés.
- BLC=
- Indiquez le Bloc Base de Données. Lorsque le Bloc Base de Données possède l'option DESCR=ALL, les Rubriques groupes et les redéfinitions sont générées dans la description du Segment.
- PLT=
- Ce paramètre correspond à la zone Début du numéro de ligne des zones de travail dans Pacbase. Il n'a été mis en place que pour des besoins de migration. Cette information ne fait plus partie du modèle Rational Programming Patterns et n'est donc plus nécessaire en maintenance.
Résultat de la génération
Après la re-génération du Programme, le micro-pattern est étendu avec la description de la Structure de Données, selon les paramètres saisis sur le ligne d'appel du micro-pattern.
*!WF DSL=CU DSP=C1 SEL=0010 FOR=I LEV=1 DES=1
01 C100.
10 C100-CUSTID PICTURE 9(8).
10 C100-NAME PICTURE X(15).
10 C100-FNAME PICTURE X(15).
10 C100-DD10.
11 C100-WAY PICTURE X(20).
11 C100-ZIPCOD PICTURE X(5).
11 C100-CITY PICTURE X(20).
11 C100-STATUS PICTURE X.
01 C110.
10 C110-CUSTID PICTURE 9(8).
10 C110-NAME PICTURE X(15).