Producing Printed Reports
10.10 Solving Report Problems
Example 10–12 (Cont.) Printing Labels Four-Up in Sort Order
DATA DIVISION.
FILE SECTION.
FD INPUT-FILE.
01 INPUT-RECORD.
02 INPUT-NAME
02 INPUT-ADDRESS
02 INPUT-CITY
02 INPUT-STATE
02 INPUT-ZIP
FD REPORT-FILE.
01 REPORT-RECORD
WORKING-STORAGE SECTION.
01 LABELS-TABLE.
03 FOUR-UP OCCURS 6 TIMES INDEXED BY ROW-INDEX.
01 END-OF-FILE
PROCEDURE DIVISION.
A000-BEGIN.
OPEN INPUT INPUT-FILE
MOVE SPACES TO LABELS-TABLE.
SET ROW-INDEX, NAME-INDEX, ADDRESS-INDEX, CSZ-INDEX TO 1.
PERFORM A100-READ-INPUT UNTIL END-OF-FILE = "Y".
A050-WRAP-UP.
IF LABEL-NAME(1, 1) IS NOT EQUAL TO SPACES
PERFORM A300-PRINT-PAGE-OF-LABELS VARYING ROW-INDEX
A050-END-OF-JOB.
CLOSE INPUT-FILE
DISPLAY "END OF JOB".
STOP RUN.
10–86 Producing Printed Reports
PIC X(20).
PIC X(15).
PIC X(10).
PIC XX.
PIC 99999.
PIC X(132).
04 NAME-LINE.
05 LINE-1 OCCURS 4 TIMES INDEXED BY NAME-INDEX.
07 LABEL-NAME
07 FILLER
04 ADDRESS-LINE.
05 LINE-2 OCCURS 4 TIMES INDEXED BY ADDRESS-INDEX.
07 LABEL-ADDRESS
07 FILLER
04 CSZ-LINE.
05 LINE-3 OCCURS 4 TIMES INDEXED BY CSZ-INDEX.
07 LABEL-CITY
07 FILLER
07 LABEL-STATE
07 FILLER
07 LABEL-ZIP
07 FILLER
OUTPUT REPORT-FILE.
FROM 1 BY 1 UNTIL ROW-INDEX IS GREATER THAN 6.
REPORT-FILE.
PIC X(20).
PIC X(10).
PIC X(15).
PIC X(15).
PIC X(10).
PIC XXXX.
PIC XX.
PIC XXXX.
PIC 99999.
PIC XXXXX.
PIC X.
(continued on next page)
Need help?
Do you have a question about the COBOL AAQ2G1FTK and is the answer not in the manual?