When there are multiple items of the same type, you can use arrays. A COBOL table or array is simply a data structure consisting of a collection of elements(values), all of which have the same data description, such as a table of monthly sales.
ID DIVISION.
PROGRAM-ID. ARRAY1.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 I PIC 9.
01 STUDENT.
02 STD-ID PIC 9(3) OCCURS 5 TIMES.
PROCEDURE DIVISION.
INITIALIZE STUDENT, I.
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 5
ACCEPT STD-ID(I)
END-PERFORM.
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 5
DISPLAY STD-ID(I)
END-PERFORM.
STOP RUN.
2D ARRAY:
ID DIVISION.
PROGRAM-ID. ARRAY2.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 I PIC 9.
01 J PIC 9.
01 STUDENT.
02 STD-ID OCCURS 2 TIMES.
03 NUM PIC X(7).
03 SUB OCCURS 2 TIMES.
04 JCL1 PIC X(2).
04 COBOL1 PIC X(2).
PROCEDURE DIVISION.
INITIALIZE I, J, STUDENT.
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 2
ACCEPT NUM(I)
PERFORM VARYING J FROM 1 BY 1 UNTIL J > 2
ACCEPT SUB(I J)
END-PERFORM
END-PERFORM.
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 2
DISPLAY NUM(I)
PERFORM VARYING J FROM 1 BY 1 UNTIL J > 2
DISPLAY SUB(I J)
END-PERFORM
END-PERFORM.
STOP RUN.
ID DIVISION.
PROGRAM-ID. ARRAY1.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 I PIC 9.
01 STUDENT.
02 STD-ID PIC 9(3) OCCURS 5 TIMES.
PROCEDURE DIVISION.
INITIALIZE STUDENT, I.
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 5
ACCEPT STD-ID(I)
END-PERFORM.
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 5
DISPLAY STD-ID(I)
END-PERFORM.
STOP RUN.
2D ARRAY:
ID DIVISION.
PROGRAM-ID. ARRAY2.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 I PIC 9.
01 J PIC 9.
01 STUDENT.
02 STD-ID OCCURS 2 TIMES.
03 NUM PIC X(7).
03 SUB OCCURS 2 TIMES.
04 JCL1 PIC X(2).
04 COBOL1 PIC X(2).
PROCEDURE DIVISION.
INITIALIZE I, J, STUDENT.
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 2
ACCEPT NUM(I)
PERFORM VARYING J FROM 1 BY 1 UNTIL J > 2
ACCEPT SUB(I J)
END-PERFORM
END-PERFORM.
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 2
DISPLAY NUM(I)
PERFORM VARYING J FROM 1 BY 1 UNTIL J > 2
DISPLAY SUB(I J)
END-PERFORM
END-PERFORM.
STOP RUN.
No comments:
Post a Comment