Lektionen des Moduls (1/2)
Datensätze und Gruppenstrukturen
In COBOL können Elementarvariablen in einer hierarchischen Struktur namens Gruppenstruktur oder Datensatz (Record) gruppiert werden. Dadurch kann eine Reihe zusammenhängender Daten sowohl als einzelne Einheit (z. B. zum Kopieren oder Anzeigen) als auch als einzelne Felder behandelt werden.
Level-Nummern und hierarchische Beziehungen
Um einen Datensatz zu definieren, werden die Level-Nummern in der DATA DIVISION verwendet:
- Ebene
01: Definiert den Hauptdatensatz (den Namen der Gruppe). Hat keine eigenePICTURE-Klausel, da seine Größe durch die Summe der internen Felder bestimmt wird. - Untergeordnete Ebenen (
05,10,15usw.): Identifizieren die untergeordneten Felder, die zur Gruppe der höheren Ebene gehören. Sie können Elementarvariablen (mit derPIC-Klausel) oder wiederum andere Gruppen (Unterdatensätze) sein.
01 WS-EMPLOYEE-RECORD.
05 WS-EMP-ID PIC 9(5).
05 WS-EMP-NAME PIC X(20).
05 WS-EMP-SALARY PIC 9(6)V99.
In diesem Beispiel ist WS-EMPLOYEE-RECORD eine Gruppenstruktur, die drei untergeordnete Felder enthält. Wenn wir auf WS-EMPLOYEE-RECORD verweisen, lesen oder schreiben wir alle 8 + 20 + 5 = 33 Zeichen des Datensatzes auf einmal.
Die MOVE-Anweisung und Gruppenstrukturen
Wir können Werte für die einzelnen elementaren Felder festlegen:
MOVE 10023 TO WS-EMP-ID.
MOVE "JOHN DOE" TO WS-EMP-NAME.
Oder wir können einen gesamten Datensatz in einer einzigen Operation in einen anderen kompatiblen Datensatz kopieren:
MOVE WS-EMPLOYEE-RECORD TO WS-EMPLOYEE-BACKUP.
Probier es selbst aus
Deklarieren Sie eine Gruppenstruktur 01 namens WS-STUDENT-RECORD, die drei untergeordnete Felder der Ebene 05 enthält: WS-STUDENT-ID (numerisch mit 5 Stellen), WS-STUDENT-NAME (alphanumerisch mit 15 Zeichen) und WS-STUDENT-GPA (numerisch mit 1 Vorkommastelle und 2 Nachkommastellen).
Hinweis anzeigen
Verwenden Sie die korrekte Syntax: 01 WS-STUDENT-RECORD. (mit dem Punkt und ohne PIC), gefolgt in den nächsten Zeilen von den Ebenen 05 WS-STUDENT-ID PIC 9(5)., 05 WS-STUDENT-NAME PIC X(15). und 05 WS-STUDENT-GPA PIC 9(1)V99.
Lösung nach 3 Versuchen verfügbar
Vervollständigen Sie die PROCEDURE DIVISION, indem Sie den Wert 10023 nach WS-EMP-ID und den Text 'JOHN DOE' nach WS-EMP-NAME verschieben und schließlich die Gruppenstruktur WS-EMPLOYEE-RECORD mit DISPLAY anzeigen.
Hinweis anzeigen
Verwenden Sie MOVE 10023 TO WS-EMP-ID. und MOVE 'JOHN DOE' TO WS-EMP-NAME., um die Variablen zu initialisieren, schreiben Sie dann DISPLAY WS-EMPLOYEE-RECORD. und schließlich STOP RUN.
Lösung nach 3 Versuchen verfügbar