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 raise events and actions in the called program in the following order:
LOAD-OF-PROGRAM
.
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
.
INITIALIZATION
.
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. Here, the
selection screens
are processed in full. 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 in selection
screen processing, AT SELECTION-SCREEN OUTPUT
, the values specified in selscreen_options
are passed.
START-OF-SELECTION
GET
events, if the called program is associated with a
logical database.
END-OF-SELECTION
.
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 lists is saved in the
ABAP memory and the program exits. 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 exited when the user exits the list display.
If a selection screen is displayed in step 4, the runtime environment 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 associated actions and events are performed again, starting with
LOAD-OF-PROGRAM
. In 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 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
.
Other versions:
7.31 | 7.40 | 7.54
Notes
- 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. More information can be found under Logical Databases - Associated with Executable Programs.
- After the events
START-OF-SELECTION
andEND-OF-SELECTION
, the obsolete eventSTART-OF-EDITING
orEND-OF-EDITING
is raised. It is possible to implement an event block for this event, but this is unnecessary.