ABAP Keyword Documentation → ABAP - Reference → Calling and leaving program units → Exiting Program Units → Exiting Programs
LEAVE PROGRAM
Other versions: 7.31 | 7.40 | 7.54
Syntax
LEAVE PROGRAM.
Effect
This statement ends the current main program immediately and deletes its internal session, including all loaded programs, instances, and their data.
The statement LEAVE PROGRAM
can appear anywhere within any processing block. It ends the program regardless of the program or object or the
program group of the internal session in which it is executed.
The runtime environment responds to the LEAVE PROGRAM
statement depending on how the main program was called in the internal session:
-
If the main program was called using CALL
TRANSACTION,
SUBMIT AND RETURN
, orCALL DIALOG
, the runtime environment returns to the calling program after the call position. If the main program was called withCALL DIALOG
, the output parameters of the dialog module are passed to the calling program. -
If the main program was called using
LEAVE TO TRANSACTION
or using a transaction code from within a dynpro, the runtime environment returns to the position at which the first program in the current call sequence was called. -
If the main program was called using
SUBMIT
without the additionAND RETURN
, the runtime environment returns to the position at which the calling program was started.
Notes
-
If procedures are still registered when a program is exited in the current
SAP-LUW, the SAP-LUW is ended without calling or rolling back the procedures. Registered
update function
modules remain in the database, but can no longer be executed. In this case, the statement
COMMIT WORK
orROLLBACK WORK
should be executed explicitly before leaving the program. -
The statement
LEAVE
without additions is obsolete.