Compaq COBOL AAQ2G1FTK User Manual

Page 384

Advertising
background image

Producing Printed Reports
10.10 Solving Report Problems

Example 10–11 (Cont.) Printing Labels Four-Up

07

LABEL-CITY

PIC X(10).

07

FILLER

PIC XXXX.

07

LABEL-STATE

PIC XX.

07

FILLER

PIC XXXX.

07

LABEL-ZIP

PIC 99999.

07

FILLER

PIC XXXXX.

01

END-OF-FILE

PIC X.

PROCEDURE DIVISION.
A000-BEGIN.

OPEN INPUT

INPUT-FILE

OUTPUT REPORT-FILE.

MOVE SPACES TO LABELS-TABLE.
SET INDEX-1, INDEX-2, INDEX-3 TO 1.
PERFORM A100-READ-INPUT UNTIL END-OF-FILE = "Y".

A050-WRAP-UP.

IF LABEL-NAME(1) IS NOT EQUAL TO SPACES

PERFORM A300-PRINT-FOUR-LABELS.

A050-END-OF-JOB.

CLOSE INPUT-FILE

REPORT-FILE.

DISPLAY "END OF JOB".
STOP RUN.

*
A100-READ-INPUT.

READ INPUT-FILE AT END MOVE "Y" TO END-OF-FILE.
IF END-OF-FILE = "Y" NEXT SENTENCE

ELSE PERFORM A200-GENERATE-TABLE.

*
A200-GENERATE-TABLE.

MOVE INPUT-NAME

TO LABEL-NAME(INDEX-1)

MOVE INPUT-ADDRESS

TO LABEL-ADDRESS(INDEX-2)

MOVE INPUT-CITY

TO LABEL-CITY(INDEX-3)

MOVE INPUT-STATE

TO LABEL-STATE(INDEX-3)

MOVE INPUT-ZIP

TO LABEL-ZIP(INDEX-3)

IF INDEX-1 = 4 PERFORM A300-PRINT-FOUR-LABELS

ELSE

SET INDEX-1, INDEX-2, INDEX-3 UP BY 1.

*
A300-PRINT-FOUR-LABELS.

WRITE REPORT-RECORD FROM NAME-LINE AFTER ADVANCING 3.
WRITE REPORT-RECORD FROM ADDRESS-LINE AFTER ADVANCING 1.
WRITE REPORT-RECORD FROM CSZ-LINE AFTER ADVANCING 1.
MOVE SPACES TO LABELS-TABLE.
SET INDEX-1, INDEX-2, INDEX-3 TO 1.

10–84 Producing Printed Reports

Advertising