IDENTIFICATION DIVISION. PROGRAM-ID. TEST05c. * Program to test PERFORM UNTIL with TEST option. ENVIRONMENT DIVISION. CONFIGURATION SECTION. * SPECIAL-NAMES. * DECIMAL-POINT IS COMMA. * INPUT-OUTPUT SECTION. DATA DIVISION. FILE SECTION. WORKING-STORAGE SECTION. 01 IDX PIC 9(05). PROCEDURE DIVISION. DISPLAY "BEGIN: PERFORM UNTIL - TEST BEFORE". PERFORM A-100. DISPLAY "END : PERFORM UNTIL - TEST BEFORE". DISPLAY "BEGIN: PERFORM UNTIL - TEST AFTER". PERFORM A-150. DISPLAY "END : PERFORM UNTIL - TEST AFTER". DISPLAY "BEGIN: PERFORM(In-line) UNTIL TEST BEFORE". PERFORM A-300. DISPLAY "END : PERFORM(In-line) UNTIL TEST BEFORE". DISPLAY "BEGIN: PERFORM(In-line) UNTIL TEST AFTER". PERFORM A-400. DISPLAY "END : PERFORM(In-line) UNTIL TEST AFTER". STOP RUN. A-100. DISPLAY "ENTER A-100". MOVE 0 TO IDX. PERFORM A-200 WITH TEST BEFORE UNTIL IDX > 2. * UNTIL IDX EQUAL 1. DISPLAY "EXIT A-100". A-150. DISPLAY "ENTER A-150". MOVE 0 TO IDX. PERFORM A-200 WITH TEST AFTER UNTIL IDX > 2. * UNTIL IDX EQUAL 1. DISPLAY "EXIT A-150". A-200. DISPLAY "ENTER A-200". ADD 1 TO IDX. DISPLAY "A-200 - IDX =" IDX. * ADD 1 TO IDX. DISPLAY "EXIT A-200". A-300. DISPLAY "ENTER A-300". MOVE 1 TO IDX. PERFORM WITH TEST BEFORE UNTIL IDX > 2 * UNTIL IDX > 1. * ADD 1 TO IDX DISPLAY "A-300 - IDX =" IDX ADD 1 TO IDX END-PERFORM. DISPLAY "EXIT A-300". A-400. DISPLAY "ENTER A-400". MOVE 0 TO IDX. PERFORM WITH TEST AFTER UNTIL IDX > 2 * UNTIL IDX > 0. ADD 1 TO IDX DISPLAY "A-400 - IDX =" IDX * ADD 1 TO IDX END-PERFORM. DISPLAY "EXIT A-400".