Im Allgemeinen beendet der Benutzer ein ausführbares Programm, das über SUBMIT... AND RETURN aufgerufen wurde, durch die Auswahl von F3 oder F15 in der Listenstufe 0 des aufgerufenen Programms.
Sollen jedoch vor der Rückkehr zum aufrufenden Programm noch einige Anweisungen ausgeführt werden, wie z.B. Daten über EXPORT ins ABAP-Memory zu stellen, so muss die Benutzeroberfläche des aufgerufenen Programms entsprechend modifiziert werden. Beispielsweise kann ein eigener Funktionscode für die Auswahl Zurück definiert und zum Zeitpunkt AT USER-COMMAND verarbeitet werden. Nach Abarbeitung der gewünschten Anweisungen kann das aufgerufene Programm mit der Anweisung
LEAVE.
verlassen werden. Dabei wird hinter die Aufrufstelle zurückgekehrt.
REPORT demo_programm_leave NO STANDARD PAGE HEADING.
DATA: itab TYPE TABLE OF i,
num TYPE i.
SUBMIT demo_program_rep3 AND RETURN.
IMPORT itab FROM MEMORY ID 'HK'.
LOOP AT itab INTO num.
WRITE / num.
ENDLOOP.
TOP-OF-PAGE.
WRITE 'Report
1'.
ULINE.
Dieses Programm ruft folgendes Programm auf:
REPORT demo_program_rep3 NO STANDARD PAGE HEADING.
DATA: number TYPE i,
itab TYPE TABLE OF i.
SET PF-STATUS 'MYBACK'.
DO 5 TIMES.
number = sy-index.
APPEND number TO itab.
WRITE / number.
ENDDO.
TOP-OF-PAGE.
WRITE 'Report 2'.
ULINE.
AT USER-COMMAND.
CASE sy-ucomm.
WHEN 'MBCK'.
EXPORT itab TO MEMORY ID 'HK'.
LEAVE.
ENDCASE.
Im selbstdefinierten Status MYBACK belegt der Funktionscode MBCK die Funktionstasten F3 und F15:
Wählt der Benutzer auf der Oberfläche MYBACK Zurück, dann wird die Tabelle itab ins ABAP-Memory gestellt und erst danach demo_program_rep3 verlassen. In demo_programm_leave wird die Tabelle itab wieder gelesen.