ABAP Keyword Documentation → ABAP - Reference → Calling and leaving program units → Calling ABAP Programs
Calling Executable Programs
Executable programs
are only directly executable from the end user's perspective. Whenever an executable program is started using System → Services → Reporting or a
report transaction,
the SUBMIT
statement is executed
internally. Executable programs are the only programs that can be called using SUBMIT
.
Other versions: 7.31 | 7.40 | 7.54
Flow of an Executable Program
The SUBMIT
statement 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:
LOAD-OF-PROGRAM
DEFAULT
addition 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. 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.
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 print 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 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 free 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
LEAVE PROGRAM
statement and during list processing by using LEAVE LIST-PROCESSING
.
Notes
- When the
SUBMIT
statement is executed, it is not followed by an authorization check for the authorization group specified in the program attributes. An authorization check of this type is performed only if the program is executed as a dialog program, for example from the development environment or by choosing System → Services → Reporting
- 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.