DO Until loop
Use the DO UNTIL statement to run
the block of code until the expression is true. The contents of a DO
UNTIL block will always run at least once, even if the
expression is true the first time the DO statement
is processed. Every time the END statement
is processed the expression is evaluated again; if not true, processing
returns to the DO statement for another pass
through the block of code.
The condition is evaluated again at the end of each iteration of
the DO/END block;
if it is still not true, the block is run again.
DO UNTIL <expression>
<expression>- A REXX-based expression. The expression can be any valid REXX
expression that results in 1 or 0.
For more details on REXX expressions and available functions, see TSO/E REXX Reference.
VARSET X = 1
DO UNTIL “!X” = 10
DISPLAY !X
VARSET X DELTA(1)
ENDThe ITERATE command can be used at any
point in the block to start the next iteration of the currently active
loop from the DO statement again. The LEAVE command
can be used to exit the currently active loop and resume processing
following the corresponding END statement. ITERATE and LEAVE can
only exit the currently active block.
Loops of this type are protected from running forever by accident
by the global loop limit. This is set by OPTIONS LIMIT,
which defaults to 100.