Event in ABAP report determine process flow of a program. The events
are triggered depended on the way the output is generated. They begin
after event keyword and end when the next event reached.
Event keyword: INITIALIZATION. Occurs when report initialized. We can use it to check user authorization or prepare output for selection screen.
AT SELECTION-SCREEN OUTPUT : Occurs each time selection screen about to generated. We can use it to modify selection screen, for example hide / unhide parameter.
AT SELECTION-SCREEN. Occurs each user command in selection screen. we can use it to perform checking on user input.
START-OF-SELECTION Occurs after the standard selection screen has been processed., data is read in this event.
END-OF-SELECTION Occurs after start-of-selection.
TOP-OF-PAGE Occurs when a new page starts. Use it for write report header.
END-OF-PAGE Occurs when a page ends. Use it for write report footer.
AT LINE-SELECTION Occurs when the user double-click on report.
AT USER-COMMAND Occurs when the user push toolbar button.
This is program to demonstrate how to use event properly.
REPORT ZAALGAL0008 LINE-COUNT 10(1).
*http://abap-gallery.blogspot.com
TABLES: sflight.
DATA: BEGIN OF t_report OCCURS 3, carrid LIKE sflight-carrid, connid LIKE sflight-connid, END OF t_report.
*begin selection screen PARAMETERS p_datum LIKE sy-datum. PARAMETERS p_check AS CHECKBOX. *end selection screen
INITIALIZATION. *begin initialization MOVE sy-datum TO p_datum. *end initialization
AT SELECTION-SCREEN. *begin at selection-screen MESSAGE I888(sabapdocu) WITH 'At selection-screen'. IF p_check = 'X'. MESSAGE E888(sabapdocu) WITH 'Clear checkbox'. ENDIF. *end at selection-screen
AT SELECTION-SCREEN OUTPUT. *begin at selection-screen output MESSAGE I888(sabapdocu) WITH 'At selection-screen output'. *end at selection-screen output
START-OF-SELECTION. *begin start-of-selection. MESSAGE I888(sabapdocu) WITH 'start-of-selection'. SELECT * FROM sflight. MOVE sflight-carrid TO t_report-carrid. MOVE sflight-connid TO t_report-connid. APPEND t_report. ENDSELECT. *end start-of-selection.
END-OF-SELECTION. *begin end-of-selection. MESSAGE I888(sabapdocu) WITH 'end-of-selection'. FORMAT COLOR col_normal. DO 30 TIMES. LOOP AT t_report. WRITE / t_report-carrid. WRITE t_report-connid. ENDLOOP. ENDDO. *end end-of-selection.
TOP-OF-PAGE. FORMAT COLOR col_heading. WRITE 'This is header'.
END-OF-PAGE. FORMAT COLOR col_total. WRITE 'This is footer'.
Social Plugin