Preface – This post is part of the ABAP Beginner series.
ABAP report is an old term for executable program in ABAP and it is a program that can be executed using the SUBMIT statement. This SUBMIT statement is always executed internally as we execute it using F8 user command or via a Transaction code.
Table of Contents
Types of ABAP Report
A report in ABAP is of two types:
Both these Reports are event driven. The only thing that divides them is the use of different events.
Classical Report
A classical report is a report which contains both selection screens and output screens.
Events in Classical Report
Classical Reports have following events:
- LOAD-OF-PROGRAM : First event fired, loads program in memory
- INITIALIZATION: Initialize variable
- START-OF-SELECTION : Actual Business Logic (After START-OF-SELECTION)
- END-OF-SELECTION : To end above
- AT SELECTION-SCREEN : To validate Multiple Input fields (After Initialization and before START-OF-SELECTION) (After
- AT SELECTION-SCREEN OUTPUT: To manipulate Dynamic screen
- AT SELECTION-SCREEN ON
- AT SELECTION-SCREEN ON END OF
- AT SELECTION-SCREEN ON BLOCK
- AT SELECTION-SCREEN ON RADIOBUTTON GROUP
- AT SELECTION-SCREEN ON VALUE REQUEST
- TOP-OF-PAGE : To print heading
- END-OF-PAGE: To print footer

Events in Classical Report – Image Illustration
Interactive Report
An interactive report is a report in which the information are shown using basic and secondary lists. An interactive report has total 21 lists including the basic list. The first list is numbered as 0 and other are from 1 to 20.
To get the current page number, we can use system variable SY-LSIND.
Events in Interactive Report
*** Will be updated soon
Hi,
In the diagram AT SELECTION-SCREEN-OUTPUT is called after AT SELECTION-SCREEN but output is called first to display and hide the screen fields and AT SELECTION-SCREEN is used to validate them.