Master Mainframe Technologies - COBOL, JCL, DB2, VSAM, CICS & More
ABEND Codes SQLCODEs File Status Interview Prep Contact
← Back to File Handling
File Handling | Advanced | COBOL

Report Writer Basics

Problem Description

Use REPORT WRITER to generate formatted report.

Expected Output

Formatted report with headers and totals

Hints

REPORT SECTION, RD, control breaks.

Solution

IDENTIFICATION DIVISION. PROGRAM-ID. RPTWRT. * Note: Report Writer is an optional COBOL feature * This shows the structure without actual file I/O DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-SALES-DATA. 05 WS-SALE OCCURS 5 TIMES. 10 WS-REGION PIC X(10). 10 WS-PRODUCT PIC X(15). 10 WS-AMOUNT PIC 9(7)V99. 01 WS-I PIC 9. 01 WS-TOTAL PIC 9(9)V99 VALUE 0. 01 WS-DISP PIC Z,ZZ,ZZ9.99. PROCEDURE DIVISION. PERFORM INIT-DATA. DISPLAY "============================================". DISPLAY " SALES REPORT ". DISPLAY "============================================". DISPLAY "REGION PRODUCT AMOUNT". DISPLAY "--------------------------------------------". PERFORM VARYING WS-I FROM 1 BY 1 UNTIL WS-I > 5 MOVE WS-AMOUNT(WS-I) TO WS-DISP DISPLAY WS-REGION(WS-I) " " WS-PRODUCT(WS-I) " " WS-DISP ADD WS-AMOUNT(WS-I) TO WS-TOTAL END-PERFORM. DISPLAY "--------------------------------------------". MOVE WS-TOTAL TO WS-DISP. DISPLAY "TOTAL: " WS-DISP. DISPLAY "============================================". STOP RUN. INIT-DATA. MOVE "NORTH" TO WS-REGION(1). MOVE "WIDGET A" TO WS-PRODUCT(1). MOVE 15000.00 TO WS-AMOUNT(1). MOVE "SOUTH" TO WS-REGION(2). MOVE "WIDGET B" TO WS-PRODUCT(2). MOVE 22000.00 TO WS-AMOUNT(2). MOVE "EAST" TO WS-REGION(3). MOVE "GADGET X" TO WS-PRODUCT(3). MOVE 18500.00 TO WS-AMOUNT(3). MOVE "WEST" TO WS-REGION(4). MOVE "GADGET Y" TO WS-PRODUCT(4). MOVE 27000.00 TO WS-AMOUNT(4). MOVE "CENTRAL" TO WS-REGION(5). MOVE "WIDGET C" TO WS-PRODUCT(5). MOVE 12500.00 TO WS-AMOUNT(5).

Explanation:

Report Writer automates headers, footers, control breaks. Shown here manually.