Inhalt
Index
Support Über uns
Home

1.9.2 Das Cobol-Stufenkonzept:




Datensätze werden mit der Stufennummer 01 oder 77 beschrieben.

Die Stufennummer 77 gibt an, daß der Datensatz keine weitere Unterteilung besitzt.


Überdefinition :


 
Format:
Format der Oberdefinition:

{ [01 Cobolname [PIC Picture] [VALUE Konstante]]. / [77 Cobolname PIC Picture [VALUE Konstante]]. }


Wird die PIC-Klausel nicht angegeben, berechnet der Compiler die Länge aus den folgenden Unterdefinitionen, und weist dem Feld den alphanumerischen Typ (PIC X(Länge)) zu.

Die Angabe der VALUE-Klausel (siehe VALUE) initialisiert das Feld mit dem angegebenen Wert.

Unterdefinitionen :

Während die Stufe 01 einen Datensatz in seiner vollen Länge beschreibt, dienen die Stufen 02 - 49 zur Unterdefinition bzw. Untergruppierung des Datensatzes.

Die niedrigen Stufennummern fassen hierbei alle höheren Stufennummern zu einer Gruppe zusammen.


Beispiel :

In einem Datensatz sollen Kundenname und Kundenadresse abgespeichert werden.

           01 K-SATZ          PIC X(109).
            05 K-NAME         PIC X(30).
            05 K-TELEFON      PIC X(14).
             10 K-VORWAHL     PIC 9(5).
             10 K-NUMMER      PIC X(9).
            05 K-PLZ          PIC 9(5).
            05 K-ORT          PIC X(30).
            05 K-STRASSE      PIC X(30).



K-SATZ besteht aus 109 Charaktern. Die ersten 30 beinhalten den Namen, die nächsten 14 die Telefonnummer, die nächsten 5 die Postleitzahl usw.

Die Einrückung der Stufennummer dient nur der Lesbarkeit und ist nicht zwingend.

Zur Unterstufendefinition kann eine beliebige, größere Stufennummer verwendet werden - nach Stufe 01 muß also nicht Stufe 02 folgen.

Im Beispiel ist K-SATZ mit der Stufe 05 unterdefiniert. Hiervon ist das Feld K-TELEFON mit der Stufe 10 untergliedert (beliebige Stufennummer von 6 - 49).

Nach der Beschreibung der Unterdefinitionen von K-TELEFON, wird nun die vorherige Beschreibung fortgesetzt, d.h. es muß eine bereits gewählte kleinere Stufennummer verwendet werden. Soll die Unterdefinition von K-SATZ nach K-TELEFON fortgesetzt werden, muß Stufennummer 05 verwendet werden.

Die Angabe der Stufennummer 06 oder Stufennummer 04 würde als Eintrag nach K-NUMMER zu einem Syntax-Fehler führen.


Jedem Feld kann, bei korrekter Angabe, eine relative Position im Datensatz, die Länge und der Datentyp zugeordnet werden:

 
CobolnameBytepositionLängeTyp
K-SATZ1109alphanumerisch
K-NAME1 30alphanumerisch
K-TELEFON31 14alphanumerisch
K-VORWAHL31 5numerisch
K-NUMMER36 9alphanumerisch
K-PLZ45 5numerisch
K-ORT50 30alphanumerisch
K-STRASSE80 30alphanumerisch


Sollen nur bestimmte Bereiche einer Unterdefinition beschrieben werden, kann der vordefinierte Cobolname FILLER verwendet werden.

Beispiel :

              05 FELD1        PIC X(7) VALUE '123/345'.
               10 FELD2       PIC 9(3).
               10 FILLER      PIC X.
               10 FELD3       PIC 9(3).



Hier werden die 2 numerischen Bereiche von Feld1 unterdefiniert.


Wird in der Oberdefinition eine Länge angegeben, so muß die Summe der Unterdefinitionslängen dieser Länge entsprechen.

Wird in der Oberdefinition keine Länge angegeben, ergibt sich die Länge aus der Summe der Unterdefinitionen, es kann dann jedoch keine VALUE-Anweisung in der Oberdefinition angegeben werden.

Das obige Beispiel könnte also auch so aussehen:

              05 FELD1.
               10 FELD2       PIC 9(3) VALUE 123.
               10 FILLER      PIC X    VALUE '/'.
               10 FELD3       PIC 9(3) VALUE 345.



Zurück zu Picture    Hoch zu Die Datenbeschreibung in Cobol    Weiter zu Kompletter Stufensyntax:
Entwickler Portal Impressum AGB Kontakt


© 1980-2017 Acc Computertechnik GmbH All rights reserved.