Im allgemeinen beendet der Benutzer einen Report, der über SUBMIT... AND RETURN aufgerufen wurde, durch die Auswahl von
F3 oder F15 in der Listenstufe 0 des aufgerufenen Reports.Sollen jedoch vor der Rückkehr zum aufrufenden Programm noch einige Anweisungen ausgeführet werden, wie z.B. Daten über EXPORT ins ABAP-Memory zu stellen, so muß 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_PROGRAM_LEAVE wird die Tabelle ITAB wieder gelesen.