The FOOTING clause represents a sophisticated page layout control mechanism within COBOL's Report Writer facility, serving as the primary specification for defining the starting line position of page footer content and bottom margin management. This clause embodies the principles of comprehensive page structure control by providing precise footer positioning capabilities, enabling professional report formatting standards, and supporting consistent bottom-of-page content placement across multi-page documents while maintaining optimal readability and ensuring proper page utilization in enterprise reporting systems and business documentation environments.
12345678910RD report-name PAGE LIMIT IS integer LINES HEADING integer FIRST DETAIL integer LAST DETAIL integer FOOTING integer. 01 page-footer TYPE IS PAGE FOOTING. 05 LINE NUMBER IS FOOTING-LINE. 10 COLUMN 1 PIC X(50) VALUE 'Footer content'.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293IDENTIFICATION DIVISION. PROGRAM-ID. FOOTING-COMPREHENSIVE-DEMO. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT SALES-INPUT-FILE ASSIGN TO 'SALES.DAT' ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL FILE STATUS IS INPUT-FILE-STATUS. SELECT SALES-REPORT-FILE ASSIGN TO 'SALESRPT.RPT' ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL FILE STATUS IS REPORT-FILE-STATUS. DATA DIVISION. FILE SECTION. FD SALES-INPUT-FILE BLOCK CONTAINS 0 RECORDS RECORD CONTAINS 120 CHARACTERS. 01 SALES-INPUT-RECORD. 05 SALE-ID PIC 9(8). 05 SALE-DATE PIC 9(8). 05 CUSTOMER-ID PIC 9(6). 05 CUSTOMER-NAME PIC X(30). 05 PRODUCT-CODE PIC X(10). 05 PRODUCT-NAME PIC X(25). 05 QUANTITY PIC 9(5). 05 UNIT-PRICE PIC 9(5)V99. 05 SALE-AMOUNT PIC 9(7)V99. 05 SALES-REP PIC X(20). 05 FILLER PIC X(5). FD SALES-REPORT-FILE BLOCK CONTAINS 0 RECORDS RECORD CONTAINS 132 CHARACTERS. 01 SALES-REPORT-RECORD PIC X(132). REPORT SECTION. RD SALES-REPORT CONTROLS ARE FINAL SALES-REP PAGE LIMIT IS 66 LINES HEADING 1 FIRST DETAIL 8 LAST DETAIL 55 FOOTING 60. *> Page Footer starting at FOOTING line 60 01 PAGE-FOOTER TYPE IS PAGE FOOTING. 05 LINE NUMBER IS 60. 10 COLUMN 1 PIC X(25) VALUE 'CONFIDENTIAL DOCUMENT'. 10 COLUMN 40 PIC X(20) VALUE 'SALES DEPARTMENT'. 10 COLUMN 70 PIC X(10) VALUE 'PAGE TOTAL:'. 10 COLUMN 85 PIC ZZ,ZZ9.99 SUM SALE-AMOUNT RESET ON PAGE. 05 LINE NUMBER IS 61. 10 COLUMN 1 PIC X(90) VALUE ALL '-'. 05 LINE NUMBER IS 62. 10 COLUMN 1 PIC X(15) VALUE 'REPORT TIME:'. 10 COLUMN 17 PIC X(8) SOURCE IS WS-REPORT-TIME. 10 COLUMN 40 PIC X(20) VALUE 'CONTINUED ON NEXT PAGE'. 10 COLUMN 70 PIC X(15) VALUE 'LINES ON PAGE:'. 10 COLUMN 90 PIC ZZ9 SOURCE IS LINE-COUNTER. WORKING-STORAGE SECTION. 01 REPORT-VARIABLES. 05 WS-REPORT-DATE PIC X(10). 05 WS-REPORT-TIME PIC X(8). PROCEDURE DIVISION. MAIN-PROCESSING. OPEN INPUT SALES-INPUT-FILE OPEN OUTPUT SALES-REPORT-FILE INITIATE SALES-REPORT PERFORM UNTIL INPUT-EOF READ SALES-INPUT-FILE AT END CONTINUE NOT AT END GENERATE SALES-DETAIL END-READ END-PERFORM TERMINATE SALES-REPORT CLOSE SALES-INPUT-FILE CLOSE SALES-REPORT-FILE STOP RUN.
123456789101112RD INVOICE-REPORT PAGE LIMIT IS 66 LINES HEADING 1 FIRST DETAIL 8 LAST DETAIL 58 FOOTING 62. 01 INVOICE-FOOTER TYPE IS PAGE FOOTING. 05 LINE NUMBER IS 62. 10 COLUMN 1 PIC X(20) VALUE 'Invoice continued...'. 10 COLUMN 50 PIC X(5) VALUE 'Page:'. 10 COLUMN 56 PIC ZZ9 SOURCE IS PAGE-COUNTER.
1234567891001 DETAILED-FOOTER TYPE IS PAGE FOOTING. 05 LINE NUMBER IS 60. 10 COLUMN 1 PIC X(30) VALUE 'Confidential - Internal Use'. 10 COLUMN 60 PIC X(15) VALUE 'Page Total: $'. 10 COLUMN 75 PIC ZZ,ZZ9.99 SUM AMOUNT RESET ON PAGE. 05 LINE NUMBER IS 61. 10 COLUMN 1 PIC X(80) VALUE ALL '-'. 05 LINE NUMBER IS 62. 10 COLUMN 1 PIC X(20) VALUE 'Generated: '. 10 COLUMN 21 PIC X(19) SOURCE IS CURRENT-DATE-TIME.
With PAGE LIMIT 66, LAST DETAIL 58, what's the optimal FOOTING setting?
Answer: FOOTING 62 provides 3 lines buffer after LAST DETAIL and 4 lines for footer content, ensuring proper spacing and adequate footer area.
What essential information should be included in page footers?
Answer: Page numbers, report date/time, confidentiality notices, page totals, and continuation indicators are essential footer elements for professional reports.
How do you prevent footer content from overlapping with detail lines?
Answer: Ensure FOOTING is set higher than LAST DETAIL with adequate buffer space (2-3 lines minimum). Test with maximum data volumes to verify spacing.
123456789101101 BUSINESS-FOOTER TYPE IS PAGE FOOTING. 05 LINE NUMBER IS 62. 10 COLUMN 1 PIC X(30) VALUE 'Confidential - Internal Use Only'. 10 COLUMN 50 PIC X(5) VALUE 'Page:'. 10 COLUMN 56 PIC ZZ9 SOURCE IS PAGE-COUNTER. 05 LINE NUMBER IS 63. 10 COLUMN 1 PIC X(80) VALUE ALL '-'. 05 LINE NUMBER IS 64. 10 COLUMN 1 PIC X(20) VALUE 'Generated: '. 10 COLUMN 21 PIC X(19) SOURCE IS CURRENT-DATE-TIME.
12345678901 FINANCIAL-FOOTER TYPE IS PAGE FOOTING. 05 LINE NUMBER IS 60. 10 COLUMN 1 PIC X(25) VALUE 'Financial Report - '. 10 COLUMN 26 PIC X(10) SOURCE IS REPORT-DATE. 10 COLUMN 70 PIC X(15) VALUE 'Page Total: $'. 10 COLUMN 85 PIC ZZ,ZZZ,ZZ9.99 SUM AMOUNT RESET ON PAGE. 05 LINE NUMBER IS 61. 10 COLUMN 1 PIC X(90) VALUE ALL '='.