tinycobol/test_suite/perform_tests/perf06.cob

216 lines
7.9 KiB
COBOL

IDENTIFICATION DIVISION.
PROGRAM-ID. PERF06.
AUTHOR. STEPHEN CONNOLLY.
DATE-WRITTEN. 2001/04/24 .
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 QT1 PICTURE XXXX VALUE SPACE.
77 QT2 PICTURE XXXX VALUE SPACE.
77 QT3 PICTURE XXXX VALUE SPACE.
77 QT4 PICTURE XXXX VALUE SPACE.
77 QT5 PICTURE XXXX VALUE SPACE.
77 WRK-DS-01V00 PICTURE S9.
77 ONE PICTURE 9 VALUE 1.
77 TWO PICTURE S9 VALUE 2.
77 THREE PICTURE S9 VALUE 3.
77 FOUR PICTURE S9 VALUE 4.
77 FIVE PICTURE S9 VALUE 5.
77 SIX PICTURE S9 VALUE 6.
77 SEVEN PICTURE S9 VALUE 7.
77 EIGHT PICTURE 9 VALUE 8.
77 NINE PICTURE S9 VALUE 9.
77 TEN PICTURE S99 VALUE 10.
77 FIFTEEN PICTURE S99 VALUE 15.
77 TWENTY PICTURE S99 VALUE 20.
77 TWENTY-5 PICTURE S99 VALUE 25.
01 MOVE54.
02 MOVE55 PICTURE X VALUE "W".
02 MOVE56 PICTURE X VALUE "X".
02 MOVE57.
03 MOVE58 PICTURE X VALUE "Y".
03 MOVE59 PICTURE X VALUE "Z".
01 MOVE60.
02 MOVE56 PICTURE X.
02 MOVE57.
03 MOVE58 PICTURE X.
03 MOVE64.
04 MOVE65 PICTURE X VALUE "A".
01 GRP-FOR-QUAL-FROM.
02 QUAL-TEST-SUB-GRP-1.
03 QUAL-TEST-1 PICTURE X(26) VALUE
"ABCDEFGHIJKLMNOPQRSTUVWXYZ".
03 QUAL-TEST-1-FROM REDEFINES QUAL-TEST-1 PICTURE X(26).
03 QUAL-TEST-2 PICTURE S9(10) VALUE +9999999999.
03 QUAL-TEST-2-FROM REDEFINES QUAL-TEST-2 PICTURE S9(10).
03 QUAL-TEST-3 PICTURE S999 VALUE 2.
03 QUAL-TEST-3-FROM REDEFINES QUAL-TEST-3 PICTURE S999.
02 QUAL-TEST-SUB-GRP-2.
03 QUAL-TEST-4 PICTURE X OCCURS 5 TIMES.
03 QUAL-TEST-4-FROM PICTURE X OCCURS 4 TIMES.
01 GRP-FOR-QUAL-TO.
02 DUMMY-LEVELZ.
03 QUAL-TEST-1 PICTURE X(26).
03 QUAL-TEST-1-TO REDEFINES QUAL-TEST-1 PICTURE X(26).
03 QUAL-TEST-2 PICTURE S9(10).
03 QUAL-TEST-2-TO REDEFINES QUAL-TEST-2 PICTURE S9(10).
03 QUAL-TEST-3 PICTURE S999.
03 QUAL-TEST-3-TO REDEFINES QUAL-TEST-3 PICTURE S999.
02 QUAL-TEST1.
03 QUAL-TEST-4 PICTURE X OCCURS 5 TIMES.
02 QUAL-TEST2.
03 QUAL-TEST-4-TO PICTURE X OCCURS 4 TIMES.
01 GRP-MOVE-CORR-1.
09 MOVE-CORR-5 PICTURE 999 VALUE 555.
09 MOVE-CORR-3 PICTURE 999 VALUE 333.
09 MOVE-CORR-2 PICTURE 999 VALUE 222.
09 MOVE-CORR-1 PICTURE 999 VALUE 111.
09 FILLER PICTURE XXX VALUE ZEROS.
09 MOVE-CORR-4 PICTURE XXX VALUE "XYZ".
09 MOVE-CORR-6 PICTURE XXX VALUE ALL "6".
09 MOVE-CORR-7 PICTURE 999 VALUE 777.
01 GRP-MOVE-CORR-R.
05 FILLER PICTURE XXX.
05 MOVE-CORR-1 PICTURE XXX.
05 MOVE-CORR-2 PICTURE 999.
05 MOVE-CORR-3 PICTURE ZZZ.
05 MOVE-CORR-4.
06 FILLER PICTURE 999.
06 FILLER PICTURE XXX.
01 GRP-TO-MOVE-CORR.
03 GRP-TO-MOVE-CORR-1.
05 MOVE-CORR-G1.
06 MOVE-CORR-G2.
09 MOVE-CORR-E1 PICTURE 999 VALUE 111.
09 MOVE-CORR-E2 PICTURE 999 VALUE 222.
09 FILLER PICTURE 999 VALUE 333.
06 MOVE-CORR-G3.
07 MOVE-CORR-E3 PICTURE XXX VALUE "123".
07 MOVE-CORR-G4.
08 MOVE-CORR-G5.
09 MOVE-CORR-E4 PICTURE XXX VALUE "ABC".
09 MOVE-CORR-E5 PICTURE 99 VALUE 45.
01 GRP-TO-MOVE-CORR-TO.
02 MOVE-CORR-G1.
04 MOVE-CORR-G2.
05 MOVE-CORR-E1 PICTURE XXX.
05 MOVE-CORR-E2 PICTURE 999 OCCURS 2.
05 FILLER PICTURE 999.
04 MOVE-CORR-G3.
06 MOVE-CORR-E3 PICTURE 999.
06 MOVE-CORR-G4.
07 MOVE-CORR-G5 PICTURE X(5).
01 CORR-DATA-1.
03 XYZ-1 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-2 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-3 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-4 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-5 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-6 PICTURE IS 99 VALUE IS ZERO.
01 CORR-DATA-2.
03 XYZ-1 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-2 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-3 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-4 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-5 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-6 PICTURE IS 99 VALUE IS ZERO.
01 CORR-DATA-3.
03 XYZ-4 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-3 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-6 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-5 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-2 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-1 PICTURE IS 99 VALUE IS ZERO.
01 CORR-DATA-4.
03 XYZ-11 PICTURE IS 99.
03 XYZ-12 PICTURE IS 99.
03 XYZ-13 PICTURE IS 99.
03 XYZ-14 PICTURE IS 99.
03 XYZ-15 PICTURE IS 99.
03 XYZ-16 PICTURE IS 99.
01 CORR-DATA-5.
03 XYZ-1 PICTURE 99.
03 XYZ-2 PICTURE 99.
03 XYZ-13 PICTURE IS 99.
03 XYZ-14 PICTURE IS 99.
03 FILLER PICTURE IS 99.
03 XYZ-11 PICTURE IS 99.
03 XYZ-12 PICTURE IS 99.
01 CORR-DATA-6.
03 XYZ-11 PICTURE IS 99.
03 XYZ-12 PICTURE IS 99.
03 FILLER PICTURE IS 99.
03 XYZ-1 PICTURE IS 99.
03 XYZ-2 PICTURE IS 9(2).
03 FILLER PICTURE IS 99.
01 CORR-DATA-7.
02 XYZ-1 PICTURE 99V99 VALUE 10.45.
02 XYZ-6 PICTURE 999V9 VALUE 100.5.
02 XYZ-11 PICTURE 99V9 VALUE ZERO.
02 XYZ-2 PICTURE 99V9 VALUE 0.9.
PROCEDURE DIVISION.
CCVS1 SECTION.
MAIN-LOOP.
PERFORM QUAL-SECTION-1.
STOP RUN.
QUAL-SECTION-1 SECTION.
PAR-INIT-F2-1.
PERFORM PAR-1A OF QUAL-SECTION-1.
DISPLAY "Q001:(" QT1 "):(PASS):"
"PERFORM QUALIFIED PARAGRAPH IN SAME SECTION.".
PAR-INIT-F2-4.
PERFORM PAR-2A OF QUAL-SECTION-2.
DISPLAY "Q002:(" QT2 "):(PASS):"
"PERFORM QUALIFIED PARAGRAPH IN OTHER SECTION.".
PAR-TEST-F2-3.
GO TO PAR-3B IN QUAL-SECTION-1.
PAR-1A.
MOVE "PASS" TO QT1.
PAR-2A.
MOVE "FAIL" TO QT2.
PAR-3A.
MOVE "FAIL" TO QT3.
PAR-3B.
MOVE "PASS" TO QT3.
PAR-3C.
DISPLAY "Q003:(" QT3 "):(PASS):"
"GO TO QUALIFIED PARAGRAPH IN SAME SECTION.".
GO TO PAR-4B IN QUAL-SECTION-2.
* GO TO IN DIFFERENT SECTION.
PAR-4A.
MOVE "FAIL" TO QT4.
GO TO PAR-4C.
PAR-4B.
MOVE "FAIL" TO QT4.
PAR-4C.
DISPLAY "Q004:(" QT4 "):(PASS):"
"GO TO QUALIFIED PARAGRAPH IN OTHER SECTION.".
QUAL-SECTION-2 SECTION.
PAR-1A.
MOVE "FAIL" TO QT1.
PAR-2A.
MOVE "PASS" TO QT2.
PAR-3B.
MOVE "FAIL" TO QT3.
GO TO PAR-3C OF QUAL-SECTION-1.
PAR-3C.
MOVE "FAIL" TO QT1 QT2 QT3 QT4 QT5.
* NOTE THIS PARAGRAPH SHOULD NEVER BE ENTERED.
GO TO PAR-INIT-F2-4 IN QUAL-SECTION-1.
PAR-4.
GO TO QUAL-EXIT.
* IF
* GO TO DIFFERENT SECTION FAILS END QUALIFICATION TEST.
PAR-4B.
MOVE "PASS" TO QT4.
GO TO PAR-4C IN QUAL-SECTION-1.
QUAL-EXIT.
EXIT.