Direkt zum Hauptinhalt springen
eLearner.app
Modul 4 · Lektion 1 von 27/10 im Kurs~12 min
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 eigene PICTURE-Klausel, da seine Größe durch die Summe der internen Felder bestimmt wird.
  • Untergeordnete Ebenen (05, 10, 15 usw.): Identifizieren die untergeordneten Felder, die zur Gruppe der höheren Ebene gehören. Sie können Elementarvariablen (mit der PIC-Klausel) oder wiederum andere Gruppen (Unterdatensätze) sein.
Code
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:

Code
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:

Code
MOVE WS-EMPLOYEE-RECORD TO WS-EMPLOYEE-BACKUP.

Probier es selbst aus

Übung#cobol.m4.l1.e1
Versuche: 0Wird geladen…

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).

Editor wird geladen…
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

Übung#cobol.m4.l1.e2
Versuche: 0Wird geladen…

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.

Editor wird geladen…
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