Rational Programming Patterns

Définition du filler

La définition d’un filler est possible depuis un Segment uniquement. Elle est impossible depuis une Table. Les fillers ne sont pas définis, ils sont représentés par des Rubriques. Ils sont utilisés comme zones d'alignement et ne contiennent aucune information. En conséquence, ils ne se caractérisent que par leur longueur qui est représentée par les valeurs saisies dans les zones Format et Utilisation dans la section Définition du filler.

Noter : Si vous utilisez le Segment dans un Bloc Base de Données, les fillers seront ignorés à la génération.

Pour afficher la section Définition du filler, sélectionnez la ligne d'appel du filler dans les lignes -CE du Segment.

Répétitions
Les restrictions COBOL portant sur la clause OCCURS s'appliquent ici. Vous pouvez indiquer un nombre de répétitions au niveau d'une Rubrique élémentaire, d'un groupe ou d'un filler. Le nombre de répétitions est limité à 99.
Format
Le format est obligatoire pour une Rubrique filler. C'est le format interne, défini de la même façon que sur la définition d'une Rubrique. Les formats d'entrée et d'édition seront identiques, mais en usage DISPLAY. Le format et l'utilisation représentent la longueur du filler. Il existe trois classes de fillers :
  • Des fillers contenant des caractères alphabétiques et numériques ainsi que des caractères spéciaux (alphanumériques). Cette classe est également employée pour les dates au format non standard.
  • Des fillers contenant uniquement des caractères numériques.
  • Des fillers date au format standard (vous disposez de huit formats date).

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, il ne peut tenir dans les zones réservées au format interne et au format d'entrée. Il est alors possible de 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). Cette codification est utilisable uniquement lorsque la longueur du format dépasse 10 caractères. Lorsque le 9 est omis dans un format numérique inférieur à 10 caractères, le message "FORMAT D'ENTREE ERRONE" est affiché.

Vous devez saisir le format interne comme une picture COBOL, sans caractères d'édition.
Remarque : Pour les Rubriques de type Unicode (type U), vous devez indiquer N(n) ou un format numérique signé ou non.
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 1. Format du filler
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.
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 associée à la Bibliothèque dans laquelle vous la définissez
  • Représentation interne que vous désirez.
    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. Pour UNISYS 1100, l'usage H génère la clause USAGE COMP.
Vous pouvez utiliser cette Rubrique dans une Bibliothèque de niveau hiérarchique inférieur et dont la variante de génération est différente de celle de la Bibliothèque supérieure.
Exemple : Vous avez défini la Rubrique CORUB dans la Bibliothèque SUP avec C comme usage et vous l'utilisez dans une bibliothèque INF qui a une variante de génération pour UNISYS 1100.
Lorsque ce cas se produit, l'usage de la Rubrique sera automatiquement remplacé par un équivalent compatible avec la variante de génération. Ainsi, lorsque vous visualisez CORUB dans INF, l'usage qui s'affiche automatiquement est H.
Tableau 2. Valeurs possibles pour l'usage
Valeur Signification
B COMPUTATIONAL-1 ICL 1900 BINARY-1 UNISYS 1100
C COMPUTATIONAL type IBM ou équivalent;

BINARY type IBM et variante COBOL II.

D DISPLAY (option par défaut, sauf pour les Rubriques de type Unicode), tout matériel.

Obligatoire pour les Rubriques représentant des dates.

F COMPUTATIONAL-1 IBM ou équivalent.

COMPUTATIONAL-9 BULL GCOS7. COMPUTATIONAL-11 GCOS8.

DBD Relationnelles : virgule flottante simple précision.

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.

NATIONAL (option par défaut) pour les Rubriques de type Unicode (type U)

O COMPUTATIONAL-4 UNISYS 2200
P COMPUTATIONAL-1GCOS8.
Q COMPUTATIONAL GCOS8.
R COMPUTATIONAL SYNCHRONIZED RIGHT, IBM ou équivalent. Cet usage est recommandé, de préférence à 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.

Bases de Données Relationnelles : virgule flottante double précision.
X DISPLAY SIGN IS TRAILING SEPARATE CHARACTER.

ou NATIONAL SIGN IS TRAILING SEPARATE CHARACTER pour les Rubriques de type Unicode (type U).

Y DB-KEY GCOS8. POINTER IBM and MICRO FOCUS
Z Option réservée au batch : permet de faire générer une clause BLANK WHEN ZERO, cette option n'étant utilisable qu'avec un format d'édition.
0 COMPUTATIONAL-7 GCOS8
1 DISPLAY SIGN LEADING SEPARATE - UNISYS 2200, GCOS8, IBM, TANDEM, GCOS7.

or NATIONAL SIGN IS LEADING SEPARATE CHARACTER pour les Rubriques de type Unicode (type U).

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)

5 COMPUTATIONAL-1 GCOS7 GCOS8
6 COMPUTATIONAL-2 GCOS7 GCOS8
7 COMPUTATIONAL-5 ICL 2900.
8 COMPUTATIONAL BULL 66 GCOS8.
9 COMPUTATIONAL-3 GCOS7 and GCOS8.
Redéfinition
La redéfinition est possible pour un Segment. Elle regénère la clause COBOL REDEFINES. La Rubrique qui porte cette option redéfinit la Rubrique de même niveau COBOL qui la précède dans la composition 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 base D/L1).
Remarque : Lorsque les Rubriques sont redéfinies, leurs longueurs respectives n'étant pas prises en compte, vous devez vous en charger.
La longueur de la 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 avec le module de Description de Base de Données.

Plus d'infos

Cliquez sur Plus d'infos pour spécifier les types de contrôle sur une Rubrique filler appelée dans le Segment (contrôle de présence et de classe).

Lignes -G

Cliquez sur Lignes -G pour définir des lignes -GC d'une Rubrique filler appelée dans le Segment.


Conditions d'utilisation | Commentaires en retour

Ce centre de documentation utilise la technologie Eclipse. (http://www.eclipse.org)