COBOL Outline Perform with Test After Until Example
Scenario - Displaying loop iterations using outline PERFORM...WITH TEST AFTER UNTIL.
Code -
----+----1----+----2----+----3----+----4----+----5----+
       IDENTIFICATION DIVISION.
       PROGRAM-ID. PEROWTAU.
       AUTHOR. MTH.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 WS-I         PIC 9(01) VALUE 1.
       PROCEDURE DIVISION.
           DISPLAY "Before Inline PERFORM WITH TEST AFTER UNTIL".
           PERFORM 1000-ITERATION
              THRU 1000-EXIT
                   WITH TEST AFTER UNTIL WS-I = 1.
           DISPLAY "After Inline PERFORM WITH TEST AFTER UNTIL".
           STOP RUN.
       1000-ITERATION.
           DISPLAY "WS-I: " WS-I.
       1000-EXIT.
           EXIT.Output -
Before Inline PERFORM WITH TEST AFTER UNTIL WS-I: 1 After Inline PERFORM WITH TEST AFTER UNTIL
Explaining Example -
In the above example:
- The statements in the loop gets executed once, and then the condition is validated. So, we have a display "Iteration: " once even though the condition is true for the first time.
