Simple/Classical type of reports programs are read-only report programs that show the data once. When users want to drill down and expand the results, we develop Interactive Reports.
Reports (lists) are displayed in a special container screen. On a normal screen, a user action triggers the PAI event. In the screen flow logic, you code a processing block that calls ABAP dialog modules in this event. In list processing, the event is intercepted by the list processor and processed.
Instead of calling dialog modules, one of the three following list events mat be called depending on the function code triggered by the user.We usually have report code that consists of :TOP OF PAGE event - where we write the Page Header details, Column names, etc.END OF PAGE event - where we write sum, total, end of report comments, etc.
START OF SELECTION event - all the select queries would go in this event
END OF SELECTION event - written after start of selection, it would consist of all the logic to process the data that was selected in start of selection and to fill up the Internal table and lastly looping at the internal table and displaying the contents using write statement
Incase of Interactive reports, we drill down if certain records are selected by user. This is done with the help of HIDE statement. Hide statement will act as a temp buffer and the selected line is available for drilling or displaying the next list.
AT LINE-SELECTION - This event has the code block required to drill down the report whenever user selects any particular record
AT USER-COMMANDIf you have written the corresponding event blocks in your program, they are executed. You can access the function code in the system field SY-UCOMM.
The output from any list statements that you write in these event blocks is written to detail lists. One can maintain one basic list and up to 19 detail list, total is 20.
The ABAP system field SY-LSIND is very important contains the index of the list currently being created. For Basic list, SY-LSIND is zero.
By default, the basic list has a standard list status and standard page header. The TOP-OF-PAGE and END-OF-PAGE events can occur while the basic list is being created. All output in these events is placed in the page header and footer of the basic list. In executable programs, the basic list is automatically sent to the list processor and displayed at the end of the END-OF-SELECTION event. Otherwise, it is displayed after the PAI processing block on the screen from which the LEAVE TO LIST-PROCESSING statement occurred.
The list produced by classical report doesn’t allow user to interact with the system.The list produced by interactive report allows the user to interact with the system.