💻 COBOL
COBOL Report Writer Basics
Advanced 🕑 20 min read
👁 0 views
COBOL Report Writer Basics
Report Writer is a COBOL feature for producing formatted reports with automatic page handling, totals, and grouping.
Advantages
- Automatic page breaks
- Built-in subtotals and totals
- Heading and footing control
- Simplified report logic
Report Writer Sections
REPORT SECTION: ```cobol REPORT SECTION. RD report-name CONTROLS ARE control-1, control-2... PAGE LIMIT IS n LINES HEADING n FIRST DETAIL n LAST DETAIL n FOOTING n. ```
Report Groups
- REPORT HEADING (RH)
- PAGE HEADING (PH)
- CONTROL HEADING (CH)
- DETAIL (DE)
- CONTROL FOOTING (CF)
- PAGE FOOTING (PF)
- REPORT FOOTING (RF)
Report Writer Statements
- INITIATE: Start report processing
- GENERATE: Produce report lines
- TERMINATE: End report processing
Code Example
IDENTIFICATION DIVISION.
PROGRAM-ID. REPORT-DEMO.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT REPORT-FILE ASSIGN TO RPTFILE.
SELECT INPUT-FILE ASSIGN TO INFILE.
DATA DIVISION.
FILE SECTION.
FD INPUT-FILE.
01 INPUT-REC.
05 IN-DEPT PIC X(3).
05 IN-NAME PIC X(20).
05 IN-SALARY PIC 9(7)V99.
FD REPORT-FILE REPORT IS SALARY-REPORT.
REPORT SECTION.
RD SALARY-REPORT
CONTROLS ARE FINAL IN-DEPT
PAGE LIMIT 60 LINES
HEADING 1 FIRST DETAIL 5 LAST DETAIL 55.
01 TYPE PAGE HEADING.
05 LINE 1 COL 1 VALUE 'SALARY REPORT'.
01 TYPE DETAIL.
05 LINE PLUS 1.
10 COL 1 PIC X(3) SOURCE IN-DEPT.
10 COL 10 PIC X(20) SOURCE IN-NAME.
10 COL 35 PIC $$$,$$$,$$9.99 SOURCE IN-SALARY.
PROCEDURE DIVISION.
OPEN INPUT INPUT-FILE OUTPUT REPORT-FILE
INITIATE SALARY-REPORT
READ INPUT-FILE AT END GO TO END-REPORT
PERFORM UNTIL 1 = 0
GENERATE SALARY-REPORT
READ INPUT-FILE AT END EXIT PERFORM
END-PERFORM.
END-REPORT.
TERMINATE SALARY-REPORT
CLOSE INPUT-FILE REPORT-FILE
STOP RUN.