To define a page footer, use the END-OF-PAGE event. This event occurs if, while processing a list page, the system reaches the lines reserved for the page footer, or if the RESERVE statement triggers a page break. Fill the lines of the page footer in the processing block following the event keyword END-OF-PAGE :
END-OF-PAGE. WRITE: ....
The system only processes the processing block following END-OF-PAGE if you reserve lines for the footer in the LINE-COUNT option of the REPORT statement (see Determining the Page Length ).
Remember to end the processing block following END-OF-PAGE by using an appropriate event keyword, such as START-OF-SELECTION , if you want to start processing the actual list afterwards (see Defining Processing Blocks ).
REPORT demo_list_end_of_page LINE-SIZE 40 LINE-COUNT 6(2) NO STANDARD PAGE HEADING. TOP-OF-PAGE. WRITE: 'Page with Header and Footer'. ULINE AT /(27). START-OF-SELECTION. DO 6 TIMES. WRITE / sy-index. ENDDO.
This program consists of three processing blocks. The standard page header is turned off. The page length is set to six lines, where two of them are reserved for the page footer.
The list consists of three pages of six lines each. Each page is made up of the self-defined two-line page header, two lines of actual list, and a two-line page footer. The current page number displayed in the page footer comes from the sy-pagno system field.