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

SUBMIT

Quick Reference

Syntax

SUBMIT {rep|(name)} [selscreen_options]
                    [list_options]
                    [job_options]
                    [AND RETURN].

Addition:

... AND RETURN

Effect

The statement SUBMIT calls an executable program. The executable program is executed as described under Flow of an Executable Program. If the called program contains a syntax error, an exception is raised that cannot be handled. The name of the called program can be specified as follows:

Specified directly and statically as rep.
Specified as the content of a parenthesized flat character-like data object name. The data object name must contain the name of the program accessed in uppercase letters. The following can be specified for name:
When the statement is executed, name is not evaluated until runtime (in both cases). If the program specified in name is not found, a non-handleable exception is raised.

The additions have the following meaning:

When the statement SUBMIT is executed, it is followed by an authorization check (using the authorization object S_PROGRAM) for the authorization group specified in the program attributes. The program attribute Start Using Variant is ignored if SUBMIT is used.

Security Note

If the name of a program unit is specified dynamically when it is called, and this name is passed to a program from outside, the result is a serious security risk. Any names passed to a program from outside must be checked thoroughly before being used in calls. The system class CL_ABAP_DYN_PRG, for example, can be used to do this. See Dynamic Calls.

Example

Call program DEMO_PROGRAM_SUBMIT_REP without returning to the calling program.

SUBMIT demo_program_submit_rep.

Addition

... AND RETURN

Effect

The addition AND RETURN determines the object accessed by the runtime environment after the program is called:

The number of internal sessions in a call sequence is restricted to nine. If this is exceeded by SUBMIT ... AND RETURN, the program terminates and the entire call sequence is deleted.

Notes

Example

Call program DEMO_PROGRAM_SUBMIT_REP and return to the calling program.

SUBMIT demo_program_submit_rep AND RETURN.

Exceptions

Non-Handleable Exceptions



Continue
SUBMIT - selscreen_options
SUBMIT - list_options
SUBMIT - job_options