Skip to content

ABAP Keyword Documentation →  ABAP − Reference →  Calling and leaving program units →  Exiting Program Units →  Exiting Processing Blocks 


Quick Reference

Other versions: 7.31 | 7.40 | 7.54




This statement ends the current processing block immediately. It can appear at any point in a processing block and ends this block regardless of the statement block or control structure in which the block appears.

After the processing block is exited, the runtime environment responds in the same way as when the processing block is exited in a regular way (with the exception of LOAD-OF-PROGRAM and the reporting event blocks START-OF-SELECTION and GET) . In particular, the output parameters of procedures are passed on to the bound actual parameters.

  • The event block LOAD-OF-PROGRAM cannot be exited using RETURN.
  • After the reporting event block START-OF-SELECTION is exited using RETURN, the runtime environment does not raise any more reporting events and instead calls the list processor directly to display the basic list.
  • After the reporting event block GET is exited using RETURN, subordinate nodes in the hierarchical structure of the associated logical database are no longer processed. The logical database reads the next line of the current node or next higher node, if it has reached the end of the hierarchy level.

Programming Guideline

Only use RETURN to exit procedures


The statement RETURN is provided for exiting processing blocks early but correctly. However, since RETURN behaves differently in GET events than when the event block is exited as usual, the statement REJECT should be used here, which was designed especially for this purpose.


Exits the method show_list using RETURN if one of the formal parameters required (structure or data_tab) is initial.

METHOD show_list.
  "IMPORTING structure TYPE c
  "          data_tab  TYPE ANY TABLE.
  DATA alv_list TYPE REF TO cl_gui_alv_grid.
  IF structure IS INITIAL OR
     data_tab  IS INITIAL.
  CREATE OBJECT alv_list
         EXPORTING i_parent = cl_gui_container=>screen0.
    EXPORTING i_structure_name = structure
    CHANGING  it_outtab        = data_tab ).