TEST BEFORE and TEST AFTER options of PERFORM VARYING
IDENTIFICATION DIVISION.
PROGRAM-ID. BEFORE-AND-AFTER.
AUTHOR. BILL ROGERS.
*
* Illustrates the TEST BEFORE and TEST AFTER options of
* PERFORM VARYING. See page 327.
*
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 X PIC 9.
01 SEPARATOR-LINE PIC X(50) VALUE ALL '-'.
PROCEDURE DIVISION.
MAIN-LINE.
DISPLAY 'until subscript > 5 '.
PERFORM PARA-A
VARYING X FROM 1 BY 1 UNTIL X > 5.
DISPLAY SEPARATOR-LINE.
DISPLAY 'until subscript > 5, test before '.
PERFORM PARA-A
WITH TEST BEFORE
VARYING X FROM 1 BY 1 UNTIL X > 5.
DISPLAY SEPARATOR-LINE.
DISPLAY 'until subscript > 5, test after '.
PERFORM PARA-A
WITH TEST AFTER
VARYING X FROM 1 BY 1 UNTIL X > 5.
DISPLAY SEPARATOR-LINE.
DISPLAY 'until subscript = 5 '.
PERFORM PARA-A
VARYING X FROM 1 BY 1 UNTIL X = 5.
DISPLAY SEPARATOR-LINE.
DISPLAY 'until subscript = 5, test before '.
PERFORM PARA-A
WITH TEST BEFORE
VARYING X FROM 1 BY 1 UNTIL X = 5.
DISPLAY SEPARATOR-LINE.
DISPLAY 'until subscript = 5, test after '.
PERFORM PARA-A
WITH TEST AFTER
VARYING X FROM 1 BY 1 UNTIL X = 5.
STOP RUN.
PARA-A.
DISPLAY 'PERFORMING PARA-A -- SUBSCRIPT IS NOW ' X.
Output:
until subscript > 5
PERFORMING PARA-A -- SUBSCRIPT IS NOW 1
PERFORMING PARA-A -- SUBSCRIPT IS NOW 2
PERFORMING PARA-A -- SUBSCRIPT IS NOW 3
PERFORMING PARA-A -- SUBSCRIPT IS NOW 4
PERFORMING PARA-A -- SUBSCRIPT IS NOW 5
--------------------------------------------------
until subscript > 5, test before
PERFORMING PARA-A -- SUBSCRIPT IS NOW 1
PERFORMING PARA-A -- SUBSCRIPT IS NOW 2
PERFORMING PARA-A -- SUBSCRIPT IS NOW 3
PERFORMING PARA-A -- SUBSCRIPT IS NOW 4
PERFORMING PARA-A -- SUBSCRIPT IS NOW 5
--------------------------------------------------
until subscript > 5, test after
PERFORMING PARA-A -- SUBSCRIPT IS NOW 1
PERFORMING PARA-A -- SUBSCRIPT IS NOW 2
PERFORMING PARA-A -- SUBSCRIPT IS NOW 3
PERFORMING PARA-A -- SUBSCRIPT IS NOW 4
PERFORMING PARA-A -- SUBSCRIPT IS NOW 5
PERFORMING PARA-A -- SUBSCRIPT IS NOW 6
--------------------------------------------------
until subscript = 5
PERFORMING PARA-A -- SUBSCRIPT IS NOW 1
PERFORMING PARA-A -- SUBSCRIPT IS NOW 2
PERFORMING PARA-A -- SUBSCRIPT IS NOW 3
PERFORMING PARA-A -- SUBSCRIPT IS NOW 4
--------------------------------------------------
until subscript = 5, test before
PERFORMING PARA-A -- SUBSCRIPT IS NOW 1
PERFORMING PARA-A -- SUBSCRIPT IS NOW 2
PERFORMING PARA-A -- SUBSCRIPT IS NOW 3
PERFORMING PARA-A -- SUBSCRIPT IS NOW 4
--------------------------------------------------
until subscript = 5, test after
PERFORMING PARA-A -- SUBSCRIPT IS NOW 1
PERFORMING PARA-A -- SUBSCRIPT IS NOW 2
PERFORMING PARA-A -- SUBSCRIPT IS NOW 3
PERFORMING PARA-A -- SUBSCRIPT IS NOW 4
PERFORMING PARA-A -- SUBSCRIPT IS NOW 5
Cobol Home