Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  Calling and leaving program units →  Calling Programs →  Calling Executable Programs 

Flow of an Executable Program

The statement SUBMIT loads the called program in a separate internal session and starts a series of processes in the ABAP runtime environment that trigger events and actions in the called program in the following order:

  • Program constructor event LOAD-OF-PROGRAM
  • The start values defined using the addition DEFAULT in the statements PARAMETERS and SELECT-OPTIONS are passed to the relevant data objects. The start values of all other data objects are set before LOAD-OF-PROGRAM.
  • Reporting event INITIALIZATION
  • The selection screen specified in selscreen_options is called if it contains at least one input field or button. If no explicit selection screen is specified, the standard selection screen is called. Complete selection screen processing is performed. 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 associated with a logical database.
  • Reporting event END-OF-SELECTION
  • The basic list is called.
    If the basic list is empty, the program is exited..
    If the basic list is a spool list, it is sent to the SAP spool system and the program is exited.
    If EXPORTING LIST TO MEMORY is specified in list_options, the basic list is stored in the ABAP Memory and the program is exited.
    Otherwise, the basic list is a screen list and is displayed on the screen. User actions on a displayed screen list trigger list events. The program is exited when the user exits the list display.
  • If no selection screen is displayed in step 4, because processing is performed in the background or not at all, the program flow is complete.
    If a selection screen displayed in step 4, the runtime environment calls the called program again after the basic list has been exited. During this new call, the runtime environment 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 whether the tabstrip page was active, are not passed). The program call is not complete until the user exits the 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.

    Other versions: 7.31 | 7.40 | 7.54


    If the called program is associated with a logical database, the system calls the relevant subroutines of the database program for the steps listed above. For information, see

    Logical Databases - Associations with Executable Programs.