Nested DO Loops

Like nested IF…THEN…ELSE instructions, DO loops can contain other DO loops. A simple example follows:
DO outer = 1 TO 2
   DO inner = 1 TO 2
     SAY 'HIP'
   END
   SAY 'HURRAH'
END
The output from this example is:
HIP
HIP
HURRAH
HIP
HIP
HURRAH

If you need to leave a loop when a certain condition arises, use the LEAVE instruction followed by the name of the control variable of the loop. If the LEAVE instruction is for the inner loop, processing leaves the inner loop and goes to the outer loop. If the LEAVE instruction is for the outer loop, processing leaves both loops.

To leave the inner loop in the preceding example, add an IF…THEN…ELSE instruction that includes a LEAVE instruction after the IF instruction.
DO outer = 1 TO 2
   DO inner = 1 TO 2
     IF inner > 1 THEN
       LEAVE inner
     ELSE
       SAY 'HIP'
   END
   SAY 'HURRAH'
END
The result is as follows:
HIP
HURRAH
HIP
HURRAH

Reference Reference

Feedback


Timestamp icon Last updated: Tuesday, 7 January 2014


http://pic.dhe.ibm.com/infocenter/cicsts/v5r1/topic/com.ibm.cics.rexx.doc//dfhrx/rvse026.html