Salt la conținutul principal
Modulul 4 · Lecția 1 din 27/10 în curs~12 min
Lecții din modul (1/2)

Grupați articole și înregistrări

În COBOL, variabilele elementare pot fi grupate într-o structură ierarhică numită articol de grup sau înregistrare. Acest lucru vă permite să tratați un set de date asociate fie ca o singură entitate (de exemplu, pentru a le copia sau afișa), fie ca câmpuri individuale.

Numere de nivel și relații ierarhice

Pentru a defini o înregistrare, utilizați numerele de nivel în DATA DIVISION:

  • Nivel 01: Definește înregistrarea principală (numele grupului). Nu are propria sa clauză PICTURE deoarece dimensiunea sa este determinată de suma câmpurilor sale interne.
  • Niveluri subordonate (05, 10, 15 etc.): Identificați câmpurile subordonate aparținând grupului de nivel superior. Pot fi variabile elementare (cu o clauză PIC) sau, la rândul lor, alte elemente de grup (subînregistrări).
COBOL
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.

În acest exemplu, WS-EMPLOYEE-RECORD este o structură de grup care conține trei câmpuri subordonate. Dacă facem referire la WS-EMPLOYEE-RECORD, citim sau scriem toate cele 5 + 20 + 8 = 33 de caractere ale înregistrării simultan.

Declarația MOVE și articolele de grup

Putem atribui valori câmpurilor elementare individuale:

COBOL
MOVE 10023 TO WS-EMP-ID.
MOVE "JOHN DOE" TO WS-EMP-NAME.

Sau putem copia o înregistrare întreagă într-o altă înregistrare compatibilă într-o singură operațiune:

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

Încercați-l singur

Exercițiu#cobol.m4.l1.e1
Încercări: 0Se încarcă…

Declarați o structură de grup 01 numită WS-STUDENT-RECORD care conține trei sub-câmpuri de nivelul 05: WS-STUDENT-ID (numeric de 5 cifre), WS-STUDENT-NAME (alfanumeric de 15 caractere) și WS-STUDENT-GPA (numeric cu 1 cifră întreg și 2 zecimale).

Se încarcă editorul...
Afișează indiciu

Utilizați sintaxa: 01 WS-STUDENT-RECORD. (cu punct și fără PIC), urmat pe rândurile următoare de nivelul 05 WS-STUDENT-ID PIC 9(5)., 05 WS-STUDENT-NUME PIC X(15). și 05 WS-STUDENT-GPA PIC 9(1)V99.

Soluție disponibilă după 3 încercări

Exercițiu#cobol.m4.l1.e2
Încercări: 0Se încarcă…

Completați DIVIZIUNEA PROCEDURII mutând valoarea 10023 în WS-EMP-ID, textul „JOHN DOE” în ​​WS-EMP-NAME și, în final, afișați structura grupului WS-EMPLOYEE-RECORD folosind DISPLAY.

Se încarcă editorul...
Afișează indiciu

Utilizați MOVE 10023 TO WS-EMP-ID. și MUTAȚI „JOHN DOE” ÎN WS-EMP-NAME. pentru a atribui valori, apoi scrieți DISPLAY WS-EMPLOYEE-RECORD. și în cele din urmă STOP RUN.

Soluție disponibilă după 3 încercări