SAP REPORTING PROCESS



Get Example source ABAP code based on a different SAP table
  



Flow of an Executable Program After SUBMIT
The statement SUBMIT loads the called program into a separate ABAP_ISESS and starts a sequence of processes in the ABAP runtime framework that raise events and actions in the called program in the following order: Program constructor event LOAD-OF-PROGRAM. Passing the start values defined using the addition DEFAULT in the statements PARAMETERS and SELECT-OPTIONS to the corresponding data objects. The start values of all other data objects are set before LOAD-OF-PROGRAM. Reporting event INITIALIZATION. Calling of the selection screen specified in selscreen_options if it contains at least one input field or a button. If no explicit selection screen is specified, the standard selection screen is called. Here, the selection screens are processed completely. After the selection screen processing, the program flow is either continued or ended, depending on the last user action on the selection screen. Before the first event of the selection screen processing, AT SELECTION-SCREEN OUTPUT , the values specified in selscreen_options are passed. Reporting event START-OF-SELECTION Different GET events, if the called program is linked to a logical database. Reporting event END-OF-SELECTION. Calling of the basic list. If the basic list is empty, the program is terminated. If the basic list is a spool list, it is sent to the SAP spool system and the program is terminated. If EXPORTING LIST TO MEMORY is specified in list_options, the basic list is stored in the ABAP memory and the program terminates. Otherwise, the basic list is a screen list and is displayed on the screen. User actions on a displayed screen list raise list events. The program is terminated when the user exits the list display. If no selection screen is displayed in step 4, because processing is either performed in the background or not at all, the program flow is terminated. If a selection screen is displayed in step 4, the runtime framework calls the called program again after exiting the basic list (or, if the basic list is empty, after ending the program). This loads the program again and the corresponding actions and events are performed again, starting with LOAD-OF-PROGRAM. In this new call, the runtime framework supplies the parameters, the selection criteria, and the dynamic selections of the selection screen between the events INITIALIZATION and AT SELECTION-SCREEN OUTPUT with the previous input values (other settings, such as which tabstrip page was active, are not passed). The program call is not ended until the user exits selection screen processing by choosing Back , Exit, or Cancel.
The called program can be exited in any of these steps by using the statement LEAVE PROGRAM and during list processing by using LEAVE LIST-PROCESSING.



Latest notes:

If the called program is linked with a logical database, the system calls the relevant subroutines of the database program for the steps listed above. More information can be found under Logical Databases - Associated with Executable Programs.
After the events START-OF-SELECTION and END-OF-SELECTION, the obsolete event START-OF-EDITING or END-OF-EDITING is raised. It is possible to implement an event block for this event, but this is unnecessary.
ABAP_HINT_END