COBOL Manual for TNS/E Programs (H06.08+, J06.03+)

UNTIL WS-NUMBER-PERF = 99
ADD 3 TO WS-NUMBER-PERF
IF WS-NUMBER-PERF = 96
MOVE 1 TO WS-NUMBER-PERF
EXIT PERFORM
END-IF
IF WS-NUMBER-PERF = 1
DISPLAY "DID NOT EXIT PERFORM SUCCESSFULLY"
MOVE 99 TO WS-NUMBER-PERF
END-IF
END-PERFORM.
IF WS-NUMBER-PERF = 1
DISPLAY "TEST EXITS-1 FOR EXIT PERFORM SUCCESSFUL."
ELSE
DISPLAY "TEST EXITS-1 FOR EXIT PERFORM FAILED .".
0001-TEST-EXIT-PERF-EXIT.
EXIT.
Example 93 EXIT PERFORM CYCLE Statement
?SYMBOLS
IDENTIFICATION DIVISION.
PROGRAM-ID. EXIT-PERFORM.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 X PIC 999.
77 X PIC 999.
77 X PIC 999.
PROCEDURE DIVISION.
SUNRISE.
DISPLAY "EXIT PERFORM TEST".
MOVE 0 TO X
MOVE 0 TO Y
MOVE 0 TO Z
* The loop appears to execute 200 times ...
PERFORM UNTIL X=200
ADD 1 TO X
* however, we exit after only 100 times.
IF X = 100
EXIT PERFORM
END-IF
* Y counts to 4, so that every 4th time, exit the perform
* cycle without incrementing Z ...
ADD 1 TO Y
IF Y = 4
MOVE 0 TO Y
EXIT PERFORM CYCLE
END-IF
* so Z is incremented only 75 times, not 100.
ADD 1 TO Z
END-PERFORM
.
DISPLAY "X: " X.
DISPLAY "Y: " Y.
DISPLAY "Z: " Z.
332 Procedure Division Verbs