DO – ENDDO – Unconditional Loop
DO can be used to execute a certain lines of codes specific number of times.
DO 5 TIMES. WRITE sy-index. " SY-INDEX (system variable) - Current loop pass ENDDO.
WHILE ENDWHILE – Conditional Loop
WHILE can be used to execute a certain lines of codes as long as the condition is true.
WHILE sy-index < 3. WRITE sy-index. ENDWHILE.
CONTINUE – Terminate a loop pass unconditionally.
After continue the control directly goes to the end statement of the current loop pass ignoring the remaining statements in the current loop pass, starts the next loop pass.
DO 5 TIMES. IF sy-index = 2. CONTINUE. ENDIF. WRITE sy-index. ENDDO.
CHECK – Terminate a loop pass conditionally.
If the condition is false, the control directly goes to the end statement of the current loop pass ignoring the remaining statements in the current loop pass, starts the next loop pass.
DO 5 TIMES. CHECK sy-index < 3. WRITE sy-index. ENDDO.
EXIT – Terminate an entire loop pass unconditionally.
After EXIT statement the control goes to the next statement after the end of loop statement.
DO 10 TIMES. IF sy-index = 2. EXIT. ENDIF. WRITE sy-index. ENDDO.
Output
Keep posting stuff like this i really like it
I found your blog on google and read a few of your other posts. I just added you to my Google News Reader. Keep up the good work Look forward to reading more from you in the future.
I didn’t understand how to create nested loops with sy-index
SY-INDEX contains the current iteration number. Inside the inner loop, SY-INDEX contains current iteration number of inner loop. Once the ENDDO of inner loop is executed the SY-INDEX contains the value it had before entering the inner loop i.e. the current iteration number of outer loop.
Try this.
DO 2 TIMES.
WRITE SY-INDEX.
DO 5 TIMES.
WRITE SY-INDEX.
ENDDO.
ENDDO.
For loop doesn’t exist in ABAP?
where is the Loop and Select loops? could you please submit some examples for the Loop and select loops.