<-- previous rule | overview | next rule -->
Replaces EXIT outside loop with RETURN to exit the processing block.
- Apply to procedures (METHOD, FUNCTION, FORM)
- Apply to event blocks (INITIALIZATION, START-OF-SELECTION etc.)
REPORT any_report.
CLASS any_class IMPLEMENTATION.
METHOD any_method.
DO 5 TIMES.
IF sy-index = 4.
" this continues after ENDDO
EXIT.
ENDIF.
ENDDO.
CASE iv_action.
WHEN 'exit'.
EXIT.
WHEN OTHERS.
do_something( ).
ENDCASE.
ENDMETHOD.
ENDCLASS.
INITIALIZATION.
IF a = b.
EXIT.
ENDIF.
START-OF-SELECTION.
PERFORM any_form.
EXIT.
PERFORM unreachable_code.
FORM any_form.
LOOP AT gt_any_table ASSIGNING <ls_any> WHERE comp1 > 10.
" this continues after ENDLOOP
EXIT.
ENDLOOP.
IF sy-subrc = 0.
EXIT.
ENDIF.
ENDFORM.Resulting code:
REPORT any_report.
CLASS any_class IMPLEMENTATION.
METHOD any_method.
DO 5 TIMES.
IF sy-index = 4.
" this continues after ENDDO
EXIT.
ENDIF.
ENDDO.
CASE iv_action.
WHEN 'exit'.
RETURN.
WHEN OTHERS.
do_something( ).
ENDCASE.
ENDMETHOD.
ENDCLASS.
INITIALIZATION.
IF a = b.
RETURN.
ENDIF.
START-OF-SELECTION.
PERFORM any_form.
RETURN.
PERFORM unreachable_code.
FORM any_form.
LOOP AT gt_any_table ASSIGNING <ls_any> WHERE comp1 > 10.
" this continues after ENDLOOP
EXIT.
ENDLOOP.
IF sy-subrc = 0.
RETURN.
ENDIF.
ENDFORM.