Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Tabellendefinition

&pagelevel(4)&pagelevel

Ein Tabellenelement wird in der Datenerklärung durch Angabe der OCCURS-Klausel gekennzeichnet. Mit der OCCURS-Klausel wird festgelegt, wieviele Tabellenelemente die Tabelle umfasst. Name und Beschreibung des Tabellenelements gelten für jede Wiederholung. Bei einer mehrdimensionalen Tabelle muss für jede Dimension in der hierarchischen Ordnung eine OCCURS-Klausel angegeben sein.

Beispiel 2-13

01  TABELLE.
    02 TABELLEN-ELEMENT PIC XXX OCCURS 20 TIMES.

Das Datenfeld TABELLE umfasst 20 gleichgroße Datenfelder.
Diese Felder heißen TABELLEN-ELEMENT:

TABELLE:  1. TABELLEN-ELEMENT (1)   PIC XXX.
          2. TABELLEN-ELEMENT (2)   PIC XXX.
          .
          .
          .
         20. TABELLEN-ELEMENT (20)  PIC XXX.

Eindimensionale Tabellen

In der Datenbeschreibung des Tabellenelements wird die OCCURS-Klausel angegeben.

Beispiel 2-14

01  TABELLE.
    02 TABELLEN-ELEMENT OCCURS 2 TIMES.
       03 ELEMENT-FELD-1      PIC X(4).
       03 ELEMENT-FELD-2      PIC X(4).

TABELLE ist der Name der Tabelle.

TABELLEN-ELEMENT ist das Element der eindimensionalen TABELLE, das zweimal auftritt.

ELEMENT-FELD-1 und ELEMENT-FELD-2 sind Elemente, die TABELLEN-ELEMENT untergeordnet sind.

Mehrdimensionale Tabellen

Ist ein Datenfeld dem Tabellenelement einer zweidimensionalen Tabelle untergeordnet und enthält es eine OCCURS-Klausel, so ist dieses Datenfeld Element einer dreidimensionalen Tabelle.

Für eine Tabelle sind maximal sieben Dimensionen erlaubt.

Beispiel 2-15

01  TABELLE.
    02 BLK OCCURS 2 TIMES.
       03 SATZ  OCCURS 2 TIMES.
          04 FELD  OCCURS 2 TIMES PIC X(10).

BLK ist ein Element einer eindimensionalen Tabelle, das zweimal auftritt.

SATZ ist ein Element einer zweidimensionalen Tabelle, das zweimal innerhalb eines jeden Auftretens von BLK auftritt.

FELD ist ein Element einer dreidimensionalen Tabelle, das zweimal innerhalb eines jeden Auftretens von SATZ auftritt.

TABELLE

BLK (1)

SATZ (1, 1)

FELD (1, 1, 1)

FELD (1, 1, 2)

SATZ (1, 2)

FELD (1, 2, 1)

FELD (1, 2, 2)

BLK (2)

SATZ (2, 1)

FELD (2, 1, 1)

FELD (2, 1, 2)

SATZ (2, 2)

FELD (2, 2, 1)

FELD (2, 2, 2)

Bild 3: Darstellung von TABELLE

Anfangswerte von Tabellenelementen

Eine VALUE-Klausel darf in einer Datensatzbeschreibung mit OCCURS-Klausel oder einer ihr untergeordneten Datensatzbeschreibung enthalten sein. Für die Definition von Bedingungsnamen ist die VALUE-Klausel auch hier erlaubt und notwendig.

Mit Hilfe der VALUE-Klausel können in der WORKING-STORAGE SECTION oder LOCAL-STORAGE SECTION Anfangswerte einer Tabelle angeben werden.

Beispiel 2-16

 WORKING-STORAGE SECTION.
****** 1. VALUE-ANGABE AUF GRUPPENEBENE ******
 
 01  WOCHE  VALUE
            "MONTAG    DIENSTAG  MITTWOCH  DONNERSTAG
            "FREITAG   SAMSTAG   SONNTAG   ".
     02  TAG  PIC X(10) OCCURS 7 TIMES.

****** 2. VALUE-ANGABE IN DER OCCURS-KLAUSEL ******
 
 01  WEEK.
     02  WDAY  PIC X(10) OCCURS 7 TIMES VALUE FROM (1)
               "MONDAY" "TUESDAY" "WEDNESDAY" "THURSDAY"
               "FRIDAY" "SATURDAY" "SUNDAY".
****** 3. VALUE-ANGABE IN EINEM DER OCCURS-KLAUSEL UNTERGEORDNETEN FELD *****

 01  UGE.
     02  FILLER      OCCURS 7 TIMES.
         03  DAG   PIC X(10) VALUE FROM (1)
             "MANDAG" "TISDAG" "ONSDAG" "TORSDAG"
             "FREDAG" "LOERDAG" "SOENDAG".

Bezugnahmen auf Tabellenelemente

Die Tabellenelemente einer Tabelle haben denselben Datennamen. Man unterscheidet die Tabellenelemente dadurch, dass man die in Klammern eingeschlossenen Tabellenelementnummern (Indizes) hinter dem Datennamen einfügt.

Beispiel 2-17

01  TABELLE.
    02  ELEMENT  OCCURS 10 TIMES.
          .
          .
          .
    MOVE ELEMENT OF TABELLE (8) TO ...

Hierbei wird auf das achte Tabellenelement zugegriffen.
Für jede Dimension muss eine Tabellenelementnummer angegeben werden.

Es gibt zwei Techniken, Tabellenelemente anzusprechen:

  • Subskribierung

  • Indizierung