Ch 12_2. Array and Tables (II)


Defining Group Items with an OCCURS clause

Example 1: A table with 12 students' info
   01  STU-REC 12 TIMES.
       03 NAME        PIC   X(10). 
       03 SSN         PIC   9(10).
       03 HW-SOCRE    PIC   9(3).
       03 TEST-SOCRE  PIC   9(3).
       03 GRADE       PIC   X.
What is the grade of the 1st student rec.? GRADE (1)


Example 2: A Population Table for each STATE
   01  POPULATION-TABLE. 
       05 STATE-FACTS  OCCURS  50 TIMES.
          07 STATE-NAME  PIC  X(2).
          07 STATE-POP   PIC  X(2).

How initialize an ARRAY?: an old way (COBOL-74)

   01  MONTH-NAMES.
       05 STRING1  PIC  X(36) VALUE
         'JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC'.
       03 MONTH  REDEFINES  STRING1 
          OCCURS 12 TIMES PIC XXX.
MONTH (1) ---> JAN
MONTH (2) ---> FEB
MONTH (12) ---> DEC

How initialize an ARRAY?: a better way (COBOL-85)

   01  MONTH-NAMES  VALUE
       'JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC'.
       05 MONTH  OCCURS  12 TIMES  PIC XXX.



   01  MONTH-DAYS  VALUE '312831303130313130313031'.
       05  MONTH  OCCURS  12 TIMES  PIC 99.