Leave, exit, check, continue, return and reject... These statements sound alike, but differ considerably.
- REJECTis the least important; it stops the processing of the current database line and moves to the next one - where logical databases are used (e.g. in HR). Not often used in ABAPs...
- CHECKskips to the next in a- DO, WHILE, LOOPor- SELECTloop.
 So: a- CHECKwith a negative result will stop the processing of the current- LOOPline and continues with the next one.
- CHECKin a- FORM, FUNCTIONor- MODULE(not within a loop) skips the routine. The program jumps to the first statement after the cal for the- FORM, FUNCTIONor- MODULE.
- CONTINUEis a simplified version of- CHECK. CONTINUEalways jumps to the next loop, as if there was written:- CHECK 1 EQ 2. Applies to the loops:- DO, WHILE, LOOPand- SELECT.
- EXITexits a- DO, WHILE, LOOPor- SELECTloop. The next statement processed is the first one after the loop.
- RETURNexits a processing block unconditionally (like- CHECK 1 eq 2.)
- STOP, stops all data selection. The first statement to be processed after a- STOPis:- END-OF-SELECTION.
- LEAVE, is for screen flow purposes, thus- LEAVE TO SCREEN 900or- LEAVE PROGRAMwould define a program's screen flow.
And of course there are another ways of interrupting:
- calling an E-message (see MESSAGE)
- performing SET SCREEN 0followed byLEAVE SCREEN.LEAVE TO SCREEN 0is allowed as well.
- SUBMITwithout- AND RETURN
- LEAVE TO TRANSACTION ...
