Funktion
Eine Datenerklärung beschreibt die Eigenschaften eines einzelnen Datenfeldes.
Format 1
stufennummer
[datenname | FILLER]
[REDEFINES—Klausel]
[ANY LENGTH—Klausel]
[BASED—Klausel]
[BLANK WHEN ZERO—Klausel]
[DYNAMIC—Klausel]
[EXTERNAL—Klausel]
[GLOBAL—Klausel]
[GROUP-USAGE—Klausel]
[JUSTIFIED—Klausel]
[OCCURS—Klausel]
[PICTURE—Klausel]
[SIGN—Klausel]
[SYNCHRONIZED—Klausel]
[TYPE—Klausel]
[TYPEDEF—Klausel]
[USAGE—Klausel]
[VALUE—Klausel]
Syntaxregeln
stufennummer muss eine Nummer von 01 bis 49 oder die Nummer 77 sein.
Erklärungen der Stufe 77 beschreiben Datenfelder, die in keiner hierarchischen Beziehung zueinander stehen und die nicht weiter unterteilt sind.Die Klauseln dürfen in beliebiger Reihenfolge geschrieben werden. Eine Ausnahme bilden die FILLER- und datenname-Angabe sowie die REDEFINES-Klausel und die TYPEDEF-Klausel. Die FILLER- oder datenname-Angabe muss unmittelbar auf die Stufennummer folgen. Wenn die REDEFINES-Klausel angegeben ist, muss sie unmittelbar als erste Klausel vor allen anderen Klauseln stehen. Die TYPEDEF-Klausel darf nicht zusammen mit der REDEFINES-Klausel angegeben werden. Wenn die TYPEDEF-Klausel angegeben ist, muss sie unmittelbar auf die Stufennummer und datenname-Angabe folgen.
Die PICTURE-Klausel darf für Datenelemente, die mit USAGE COMP-1, COMP-2, INDEX, OBJECTREFERENCE, POINTER oder PROGRAM-POINTER definiert sind, nicht angegeben werden. Für alle anderen Datenelemente muss die PICTURE-Klausel angegeben werden, mit folgender Ausnahme:
Die PICTURE-Klausel darf für ein Datenelement fehlen, sofern eine VALUE-Klausel vom Format 1 mit einem alphanumerischen oder nationalen Literal angegeben ist und es nicht von einem Eintrag mit Stufennummer 88 gefolgt wird.
Der Compiler nimmt dann eine PICTURE-Klausel PICTURE X(länge) oder PICTURE N(länge) an, wobei länge die Anzahl der durch das Literal dargestellten Zeichen ist.Die OCCURS-Klausel darf nicht in Verbindung mit den Stufennummern 01, 66, 77 und 88 verwendet werden.
Ist die ANY LENGTH-Klausel angegeben, so darf außer Stufennummer und datenname nur noch die PICTURE-Klausel und die USAGE-Klausel angegeben werden.
Folgende Angaben müssen in jeder 77-Stufenerklärung vorhanden sein:
Datenname
PICTURE-Klausel
oderUSAGE-Klausel mit Angabe INDEX, COMPUTATIONAL-1, COMPUTATIONAL-2, OBJECT REFERENCE, POINTER oder PROGRAM-POINTER
odereine VALUE-Klausel mit einem alphanumerischen oder nationalen Literal oder eine TYPE-Klausel
Beispiel 7-1
für die Struktur eines Datensatzes mit der Beschreibung von Datengruppen
01 SATZ. ———————————————————— Logischer Satz 02 KEZ PIC ... ——————————— Datenelement 02 KDNR PIC ... —————————— Datenelement 02 ANSCHRIFT. ———————————— Gruppenelement | 03 VORNAME PIC ... ———— Datenelement | 03 NACHNAME PIC ... ——— Datenelement | 03 LAND PIC ... ——————— Datenelement | Datengruppe 03 STADT. ————————————— Gruppenelement | | 04 PLZ PIC ... ————— Datenelement | Datengruppe | 04 ORT PIC ... ————— Datenelement | | 03 STRASSE PIC ... ———— Datenelement | 02 ARTNR PIC ... ————————— Datenelement 02 PREIS. ———————————————— Gruppenelement | 03 INL PIC ... ———————— Datenelement | Datengruppe 03 AUSL PIC ... ——————— Datenelement |
Das Gruppenelement enthält keine Angaben über Datenklasse und Feldgröße. Es können aber auf den Gruppenelement-Namen noch Definitionen (z.B. REDEFINES, OCCURS) folgen. Der Eintrag wird mit einem Punkt abgeschlossen.
Format 2
66 datenname-1 RENAMES datenname-2 [{THROUGH | THRU} datenname-3].
Syntax- und Allgemeine Regeln siehe „RENAMES-Klausel".
Format 3
88 bedingungsname {VALUE | VALUES} {IS | ARE} {literal-1 [{THROUGH | THRU}
literal-2
]}...
Syntax- und Allgemeine Regeln siehe Format 2 im Abschnitt „VALUE-Klausel".