
Im Allgemeinen beendet der Benutzer ein ausführbares Programm, das über SUBMIT... AND RETURNaufgerufen 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-COMMANDverarbeitet 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.