version 0.73.0
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. SRTIO01.
|
||||
ENVIRONMENT DIVISION.
|
||||
CONFIGURATION SECTION.
|
||||
INPUT-OUTPUT SECTION.
|
||||
FILE-CONTROL.
|
||||
SELECT GOZOUT ASSIGN TO "./input.dat"
|
||||
ORGANIZATION IS SEQUENTIAL
|
||||
ACCESS IS SEQUENTIAL
|
||||
FILE STATUS IS FS.
|
||||
DATA DIVISION.
|
||||
FILE SECTION.
|
||||
FD GOZOUT
|
||||
LABEL RECORD IS STANDARD.
|
||||
01 GOZOUT-REC.
|
||||
03 X-IND PIC 9(03).
|
||||
03 DESCRIPTION PIC X(20).
|
||||
03 N-KEY2 PIC 9(2).
|
||||
03 DESC2 PIC X(4).
|
||||
WORKING-STORAGE SECTION.
|
||||
01 FS PIC 9(02).
|
||||
01 WS-COUNTERS.
|
||||
05 WS-TEST-COUNTER PIC 9(4).
|
||||
|
||||
PROCEDURE DIVISION.
|
||||
0000-PROGRAM-ENTRY.
|
||||
MOVE 0 TO WS-TEST-COUNTER.
|
||||
PERFORM B000-INITIALIZE THRU B000-EXIT.
|
||||
PERFORM C000-MAIN-LOGIC THRU C000-EXIT.
|
||||
PERFORM D000-CLEANUP THRU D000-EXIT.
|
||||
PERFORM E000-SUMMARY THRU E000-EXIT.
|
||||
STOP RUN.
|
||||
0000-EXIT.
|
||||
EXIT.
|
||||
|
||||
B000-INITIALIZE.
|
||||
OPEN OUTPUT GOZOUT.
|
||||
ADD 1 TO WS-TEST-COUNTER.
|
||||
DISPLAY "SR01:(" FS "):(00):"
|
||||
"SEQUENTIAL I/O OPEN STATUS".
|
||||
B000-EXIT.
|
||||
EXIT.
|
||||
|
||||
C000-MAIN-LOGIC.
|
||||
MOVE SPACES TO GOZOUT-REC.
|
||||
MOVE ALL "A" TO DESCRIPTION.
|
||||
MOVE ALL "D" TO DESC2.
|
||||
MOVE 0 TO X-IND N-KEY2.
|
||||
PERFORM F000-WRITE-REC 20 TIMES.
|
||||
|
||||
C000-EXIT.
|
||||
EXIT.
|
||||
|
||||
D000-CLEANUP.
|
||||
CLOSE GOZOUT.
|
||||
DISPLAY "SR03:(" FS "):(00):"
|
||||
"SEQUENTIAL I/O CLOSE STATUS".
|
||||
ADD 1 TO WS-TEST-COUNTER.
|
||||
D000-EXIT.
|
||||
EXIT.
|
||||
|
||||
E000-SUMMARY.
|
||||
DISPLAY "SR04:(" WS-TEST-COUNTER "):(0022):"
|
||||
"TEST COUNT VALIDATION".
|
||||
E000-EXIT.
|
||||
EXIT.
|
||||
F000-WRITE-REC.
|
||||
ADD 1 TO X-IND.
|
||||
IF X-IND > 10
|
||||
COMPUTE N-KEY2 = 21 - X-IND
|
||||
ELSE
|
||||
COMPUTE N-KEY2 = 11 - X-IND
|
||||
END-IF
|
||||
IF N-KEY2 = 7
|
||||
MOVE 8 TO N-KEY2
|
||||
END-IF
|
||||
WRITE GOZOUT-REC.
|
||||
ADD 1 TO WS-TEST-COUNTER.
|
||||
@@ -0,0 +1,127 @@
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. SRTIO02.
|
||||
ENVIRONMENT DIVISION.
|
||||
CONFIGURATION SECTION.
|
||||
INPUT-OUTPUT SECTION.
|
||||
FILE-CONTROL.
|
||||
SELECT ARQ ASSIGN TO "input.dat"
|
||||
ORGANIZATION IS SEQUENTIAL
|
||||
ACCESS MODE IS SEQUENTIAL
|
||||
FILE STATUS IS FS.
|
||||
SELECT OUT-REC ASSIGN TO "sorted.dat"
|
||||
ORGANIZATION IS SEQUENTIAL
|
||||
ACCESS MODE IS SEQUENTIAL
|
||||
FILE STATUS IS FS.
|
||||
SELECT SORT-REC ASSIGN TO "sort.dat".
|
||||
DATA DIVISION.
|
||||
FILE SECTION.
|
||||
FD ARQ
|
||||
LABEL RECORD IS STANDARD.
|
||||
01 REG-ARQ.
|
||||
03 P-IND PIC 9(03).
|
||||
03 DESCRIPTION PIC X(20).
|
||||
03 N-KEY2 PIC 9(02).
|
||||
03 DESC2 PIC X(04).
|
||||
FD OUT-REC.
|
||||
01 MAIN-RECORD PIC X(29).
|
||||
SD SORT-REC.
|
||||
01 MAIN-REC.
|
||||
03 INDICATOR PIC 9(03).
|
||||
03 DESC PIC X(20).
|
||||
03 SF-KEY2 PIC 9(02).
|
||||
03 SF-DESC2 PIC X(04).
|
||||
WORKING-STORAGE SECTION.
|
||||
01 FS PIC X(02).
|
||||
01 W-CNT-IN PIC S9(4) COMP.
|
||||
01 W-CNT-OUT PIC S9(4) COMP.
|
||||
01 REM PIC 9(5).
|
||||
01 W01-SWITCHES PIC X(03).
|
||||
88 W01-END VALUE "YES".
|
||||
88 W01-MORE VALUE "NO".
|
||||
01 WSRT-REC.
|
||||
03 WSRT-IND PIC 9(03).
|
||||
03 WSRT-DESC PIC X(20).
|
||||
03 WSRT-KEY2 PIC 9(02).
|
||||
03 WSRT-DESC2 PIC X(04).
|
||||
01 EXPECTED-SEQUENCE-RESULT-CONST.
|
||||
05 FILLER PIC S9(4) COMP VALUE 20.
|
||||
05 FILLER PIC S9(4) COMP VALUE 10.
|
||||
05 FILLER PIC S9(4) COMP VALUE 19.
|
||||
05 FILLER PIC S9(4) COMP VALUE 9.
|
||||
05 FILLER PIC S9(4) COMP VALUE 18.
|
||||
05 FILLER PIC S9(4) COMP VALUE 8.
|
||||
05 FILLER PIC S9(4) COMP VALUE 17.
|
||||
05 FILLER PIC S9(4) COMP VALUE 7.
|
||||
05 FILLER PIC S9(4) COMP VALUE 16.
|
||||
05 FILLER PIC S9(4) COMP VALUE 6.
|
||||
05 FILLER PIC S9(4) COMP VALUE 15.
|
||||
05 FILLER PIC S9(4) COMP VALUE 5.
|
||||
05 FILLER PIC S9(4) COMP VALUE 14.
|
||||
05 FILLER PIC S9(4) COMP VALUE 13.
|
||||
05 FILLER PIC S9(4) COMP VALUE 4.
|
||||
05 FILLER PIC S9(4) COMP VALUE 3.
|
||||
05 FILLER PIC S9(4) COMP VALUE 12.
|
||||
05 FILLER PIC S9(4) COMP VALUE 2.
|
||||
05 FILLER PIC S9(4) COMP VALUE 11.
|
||||
05 FILLER PIC S9(4) COMP VALUE 1.
|
||||
01 EXPECTED-RESULT-REDEF REDEFINES EXPECTED-SEQUENCE-RESULT-CONST.
|
||||
05 ESR-ENT OCCURS 20.
|
||||
10 ESR-VAL PIC S9(4) COMP.
|
||||
01 GSR-TAB.
|
||||
05 GSR-ENT OCCURS 20.
|
||||
10 GSR-VAL PIC S9(4) COMP.
|
||||
PROCEDURE DIVISION.
|
||||
MAIN SECTION.
|
||||
MOVE 0 TO W-CNT-IN W-CNT-OUT REM.
|
||||
SORT SORT-REC ASCENDING KEY SF-KEY2
|
||||
DESCENDING KEY INDICATOR
|
||||
INPUT PROCEDURE IN-ARQ
|
||||
OUTPUT PROCEDURE OUT-RECORD.
|
||||
|
||||
PERFORM CHECK-RESULTS
|
||||
STOP RUN.
|
||||
|
||||
CHECK-RESULTS SECTION.
|
||||
PERFORM VARYING W-CNT-OUT FROM 1 BY 1 UNTIL W-CNT-OUT > 20
|
||||
DISPLAY "SRTIO02:(" GSR-VAL(W-CNT-OUT) "):(" ESR-VAL(W-CNT-OUT)
|
||||
"):Record no " W-CNT-OUT
|
||||
END-PERFORM
|
||||
.
|
||||
|
||||
IN-ARQ SECTION.
|
||||
MOVE "NO" TO W01-SWITCHES.
|
||||
OPEN INPUT ARQ.
|
||||
PERFORM READ-INPUT
|
||||
UNTIL W01-END.
|
||||
CLOSE ARQ.
|
||||
READ-INPUT.
|
||||
READ ARQ
|
||||
AT END MOVE "YES" TO W01-SWITCHES
|
||||
IF (FS NOT = "00") AND W01-MORE
|
||||
DISPLAY "Error on Reading Input File " FS W01-SWITCHES
|
||||
STOP RUN.
|
||||
IF NOT W01-END
|
||||
MOVE REG-ARQ TO MAIN-REC
|
||||
RELEASE MAIN-REC
|
||||
ADD 1 TO W-CNT-IN
|
||||
.
|
||||
OUT-RECORD SECTION.
|
||||
OPEN OUTPUT OUT-REC.
|
||||
IF FS NOT = "00"
|
||||
DISPLAY "Error on Opening output File " FS
|
||||
STOP RUN.
|
||||
MOVE "NO" TO W01-SWITCHES.
|
||||
PERFORM WRITE-OUTPUT
|
||||
UNTIL W01-END.
|
||||
WRITE-OUTPUT.
|
||||
RETURN SORT-REC INTO WSRT-REC
|
||||
AT END MOVE "YES" TO W01-SWITCHES.
|
||||
IF NOT W01-END
|
||||
ADD 1 TO W-CNT-OUT
|
||||
DISPLAY WSRT-IND "," WSRT-KEY2
|
||||
MOVE WSRT-IND TO GSR-VAL(W-CNT-OUT)
|
||||
MOVE WSRT-REC TO MAIN-RECORD
|
||||
WRITE MAIN-RECORD.
|
||||
IF (FS NOT = "00") AND W01-MORE
|
||||
DISPLAY "Error on Writing Output File " FS
|
||||
STOP RUN.
|
||||
@@ -0,0 +1,110 @@
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. SRTIO03.
|
||||
ENVIRONMENT DIVISION.
|
||||
CONFIGURATION SECTION.
|
||||
INPUT-OUTPUT SECTION.
|
||||
FILE-CONTROL.
|
||||
SELECT ARQ ASSIGN TO "input.dat"
|
||||
ORGANIZATION IS SEQUENTIAL
|
||||
ACCESS MODE IS SEQUENTIAL
|
||||
FILE STATUS IS FS.
|
||||
SELECT OUT-REC ASSIGN TO "sorted.dat"
|
||||
ORGANIZATION IS SEQUENTIAL
|
||||
ACCESS MODE IS SEQUENTIAL
|
||||
FILE STATUS IS FS.
|
||||
SELECT SORT-REC ASSIGN TO "sort.dat".
|
||||
DATA DIVISION.
|
||||
FILE SECTION.
|
||||
FD ARQ
|
||||
LABEL RECORD IS STANDARD.
|
||||
01 REG-ARQ.
|
||||
03 P-IND PIC 9(03).
|
||||
03 DESCRIPTION PIC X(20).
|
||||
03 N-KEY2 PIC 9(02).
|
||||
03 DESC2 PIC X(04).
|
||||
FD OUT-REC.
|
||||
01 MAIN-RECORD PIC X(29).
|
||||
SD SORT-REC.
|
||||
01 MAIN-REC.
|
||||
03 INDICATOR PIC 9(03).
|
||||
03 DESC PIC X(20).
|
||||
03 SF-KEY2 PIC 9(02).
|
||||
03 SF-DESC2 PIC X(04).
|
||||
WORKING-STORAGE SECTION.
|
||||
01 FS PIC X(02).
|
||||
01 W-CNT-IN PIC S9(4) COMP.
|
||||
01 W-CNT-OUT PIC S9(4) COMP.
|
||||
01 REM PIC 9(5).
|
||||
01 W01-SWITCHES PIC X(03).
|
||||
88 W01-END VALUE "YES".
|
||||
88 W01-MORE VALUE "NO".
|
||||
01 WSRT-REC.
|
||||
03 WSRT-IND PIC 9(03).
|
||||
03 WSRT-DESC PIC X(20).
|
||||
03 WSRT-KEY2 PIC 9(02).
|
||||
03 WSRT-DESC2 PIC X(04).
|
||||
01 EXPECTED-SEQUENCE-RESULT-CONST.
|
||||
05 FILLER PIC S9(4) COMP VALUE 20.
|
||||
05 FILLER PIC S9(4) COMP VALUE 10.
|
||||
05 FILLER PIC S9(4) COMP VALUE 19.
|
||||
05 FILLER PIC S9(4) COMP VALUE 9.
|
||||
05 FILLER PIC S9(4) COMP VALUE 18.
|
||||
05 FILLER PIC S9(4) COMP VALUE 8.
|
||||
05 FILLER PIC S9(4) COMP VALUE 17.
|
||||
05 FILLER PIC S9(4) COMP VALUE 7.
|
||||
05 FILLER PIC S9(4) COMP VALUE 16.
|
||||
05 FILLER PIC S9(4) COMP VALUE 6.
|
||||
05 FILLER PIC S9(4) COMP VALUE 15.
|
||||
05 FILLER PIC S9(4) COMP VALUE 5.
|
||||
05 FILLER PIC S9(4) COMP VALUE 14.
|
||||
05 FILLER PIC S9(4) COMP VALUE 13.
|
||||
05 FILLER PIC S9(4) COMP VALUE 4.
|
||||
05 FILLER PIC S9(4) COMP VALUE 3.
|
||||
05 FILLER PIC S9(4) COMP VALUE 12.
|
||||
05 FILLER PIC S9(4) COMP VALUE 2.
|
||||
05 FILLER PIC S9(4) COMP VALUE 11.
|
||||
05 FILLER PIC S9(4) COMP VALUE 1.
|
||||
01 EXPECTED-RESULT-REDEF REDEFINES EXPECTED-SEQUENCE-RESULT-CONST.
|
||||
05 ESR-ENT OCCURS 20.
|
||||
10 ESR-VAL PIC S9(4) COMP.
|
||||
01 GSR-TAB.
|
||||
05 GSR-ENT OCCURS 20.
|
||||
10 GSR-VAL PIC S9(4) COMP.
|
||||
PROCEDURE DIVISION.
|
||||
MAIN SECTION.
|
||||
MOVE 0 TO W-CNT-IN W-CNT-OUT REM.
|
||||
SORT SORT-REC ASCENDING KEY SF-KEY2
|
||||
DESCENDING KEY INDICATOR
|
||||
USING ARQ
|
||||
OUTPUT PROCEDURE OUT-RECORD.
|
||||
|
||||
PERFORM CHECK-RESULTS
|
||||
STOP RUN.
|
||||
|
||||
CHECK-RESULTS SECTION.
|
||||
PERFORM VARYING W-CNT-OUT FROM 1 BY 1 UNTIL W-CNT-OUT > 20
|
||||
DISPLAY "SRTIO03:(" GSR-VAL(W-CNT-OUT) "):(" ESR-VAL(W-CNT-OUT)
|
||||
"):Record no " W-CNT-OUT
|
||||
END-PERFORM
|
||||
.
|
||||
|
||||
OUT-RECORD SECTION.
|
||||
OPEN OUTPUT OUT-REC.
|
||||
IF FS NOT = "00"
|
||||
DISPLAY "Error on Opening output File " FS
|
||||
STOP RUN.
|
||||
MOVE "NO" TO W01-SWITCHES.
|
||||
PERFORM WRITE-OUTPUT
|
||||
UNTIL W01-END.
|
||||
WRITE-OUTPUT.
|
||||
RETURN SORT-REC INTO WSRT-REC
|
||||
AT END MOVE "YES" TO W01-SWITCHES.
|
||||
IF NOT W01-END
|
||||
ADD 1 TO W-CNT-OUT
|
||||
DISPLAY WSRT-IND "," WSRT-KEY2
|
||||
MOVE WSRT-IND TO GSR-VAL(W-CNT-OUT)
|
||||
MOVE WSRT-REC TO MAIN-RECORD
|
||||
WRITE MAIN-RECORD.
|
||||
IF (FS NOT = "00") AND W01-MORE
|
||||
DISPLAY "Error on Writing Output File " FS
|
||||
STOP RUN.
|
||||
@@ -0,0 +1,124 @@
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. SRTIO04.
|
||||
ENVIRONMENT DIVISION.
|
||||
CONFIGURATION SECTION.
|
||||
INPUT-OUTPUT SECTION.
|
||||
FILE-CONTROL.
|
||||
SELECT ARQ ASSIGN TO "input.dat"
|
||||
ORGANIZATION IS SEQUENTIAL
|
||||
ACCESS MODE IS SEQUENTIAL
|
||||
FILE STATUS IS FS.
|
||||
SELECT OUT-REC ASSIGN TO "sorted.dat"
|
||||
ORGANIZATION IS SEQUENTIAL
|
||||
ACCESS MODE IS SEQUENTIAL
|
||||
FILE STATUS IS FS.
|
||||
SELECT SORT-REC ASSIGN TO "sort.dat".
|
||||
DATA DIVISION.
|
||||
FILE SECTION.
|
||||
FD ARQ
|
||||
LABEL RECORD IS STANDARD.
|
||||
01 REG-ARQ.
|
||||
03 P-IND PIC 9(03).
|
||||
03 DESCRIPTION PIC X(20).
|
||||
03 N-KEY2 PIC 9(02).
|
||||
03 DESC2 PIC X(04).
|
||||
FD OUT-REC.
|
||||
01 MAIN-RECORD PIC X(29).
|
||||
SD SORT-REC.
|
||||
01 MAIN-REC.
|
||||
03 INDICATOR PIC 9(03).
|
||||
03 DESC PIC X(20).
|
||||
03 SF-KEY2 PIC 9(02).
|
||||
03 SF-DESC2 PIC X(04).
|
||||
WORKING-STORAGE SECTION.
|
||||
01 FS PIC X(02).
|
||||
01 W-CNT-IN PIC S9(4) COMP.
|
||||
01 W-CNT-OUT PIC S9(4) COMP.
|
||||
01 REM PIC 9(5).
|
||||
01 W01-SWITCHES PIC X(03).
|
||||
88 W01-END VALUE "YES".
|
||||
88 W01-MORE VALUE "NO".
|
||||
01 WSRT-REC.
|
||||
03 WSRT-IND PIC 9(03).
|
||||
03 WSRT-DESC PIC X(20).
|
||||
03 WSRT-KEY2 PIC 9(02).
|
||||
03 WSRT-DESC2 PIC X(04).
|
||||
01 EXPECTED-SEQUENCE-RESULT-CONST.
|
||||
05 FILLER PIC S9(4) COMP VALUE 20.
|
||||
05 FILLER PIC S9(4) COMP VALUE 10.
|
||||
05 FILLER PIC S9(4) COMP VALUE 19.
|
||||
05 FILLER PIC S9(4) COMP VALUE 9.
|
||||
05 FILLER PIC S9(4) COMP VALUE 18.
|
||||
05 FILLER PIC S9(4) COMP VALUE 8.
|
||||
05 FILLER PIC S9(4) COMP VALUE 17.
|
||||
05 FILLER PIC S9(4) COMP VALUE 7.
|
||||
05 FILLER PIC S9(4) COMP VALUE 16.
|
||||
05 FILLER PIC S9(4) COMP VALUE 6.
|
||||
05 FILLER PIC S9(4) COMP VALUE 15.
|
||||
05 FILLER PIC S9(4) COMP VALUE 5.
|
||||
05 FILLER PIC S9(4) COMP VALUE 14.
|
||||
05 FILLER PIC S9(4) COMP VALUE 13.
|
||||
05 FILLER PIC S9(4) COMP VALUE 4.
|
||||
05 FILLER PIC S9(4) COMP VALUE 3.
|
||||
05 FILLER PIC S9(4) COMP VALUE 12.
|
||||
05 FILLER PIC S9(4) COMP VALUE 2.
|
||||
05 FILLER PIC S9(4) COMP VALUE 11.
|
||||
05 FILLER PIC S9(4) COMP VALUE 1.
|
||||
01 EXPECTED-RESULT-REDEF REDEFINES EXPECTED-SEQUENCE-RESULT-CONST.
|
||||
05 ESR-ENT OCCURS 20.
|
||||
10 ESR-VAL PIC S9(4) COMP.
|
||||
01 GSR-TAB.
|
||||
05 GSR-ENT OCCURS 20.
|
||||
10 GSR-VAL PIC S9(4) COMP.
|
||||
PROCEDURE DIVISION.
|
||||
MAIN SECTION.
|
||||
MOVE 0 TO W-CNT-IN W-CNT-OUT REM.
|
||||
SORT SORT-REC ASCENDING KEY SF-KEY2
|
||||
DESCENDING KEY INDICATOR
|
||||
INPUT PROCEDURE IN-ARQ
|
||||
GIVING OUT-REC
|
||||
|
||||
PERFORM IN-SRT
|
||||
PERFORM CHECK-RESULTS
|
||||
STOP RUN.
|
||||
|
||||
CHECK-RESULTS SECTION.
|
||||
PERFORM VARYING W-CNT-OUT FROM 1 BY 1 UNTIL W-CNT-OUT > 20
|
||||
DISPLAY "SRTIO04:(" GSR-VAL(W-CNT-OUT) "):(" ESR-VAL(W-CNT-OUT)
|
||||
"):Record no " W-CNT-OUT
|
||||
END-PERFORM
|
||||
.
|
||||
|
||||
IN-ARQ SECTION.
|
||||
MOVE "NO" TO W01-SWITCHES.
|
||||
OPEN INPUT ARQ.
|
||||
PERFORM READ-INPUT
|
||||
UNTIL W01-END.
|
||||
CLOSE ARQ.
|
||||
READ-INPUT.
|
||||
READ ARQ
|
||||
AT END MOVE "YES" TO W01-SWITCHES
|
||||
IF (FS NOT = "00") AND W01-MORE
|
||||
DISPLAY "Error on Reading Input File " FS W01-SWITCHES
|
||||
STOP RUN.
|
||||
IF NOT W01-END
|
||||
MOVE REG-ARQ TO MAIN-REC
|
||||
RELEASE MAIN-REC
|
||||
ADD 1 TO W-CNT-IN
|
||||
.
|
||||
IN-SRT SECTION.
|
||||
MOVE "NO" TO W01-SWITCHES.
|
||||
OPEN INPUT OUT-REC
|
||||
PERFORM READ-SRT
|
||||
UNTIL W01-END.
|
||||
CLOSE OUT-REC.
|
||||
READ-SRT.
|
||||
READ OUT-REC INTO WSRT-REC
|
||||
AT END MOVE "YES" TO W01-SWITCHES
|
||||
IF (FS NOT = "00") AND W01-MORE
|
||||
DISPLAY "Error on Reading Sorted File " FS W01-SWITCHES
|
||||
STOP RUN.
|
||||
IF NOT W01-END
|
||||
ADD 1 TO W-CNT-OUT
|
||||
MOVE WSRT-IND TO GSR-VAL(W-CNT-OUT)
|
||||
.
|
||||
@@ -0,0 +1,107 @@
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. SRTIO05.
|
||||
ENVIRONMENT DIVISION.
|
||||
CONFIGURATION SECTION.
|
||||
INPUT-OUTPUT SECTION.
|
||||
FILE-CONTROL.
|
||||
SELECT ARQ ASSIGN TO "input.dat"
|
||||
ORGANIZATION IS SEQUENTIAL
|
||||
ACCESS MODE IS SEQUENTIAL
|
||||
FILE STATUS IS FS.
|
||||
SELECT OUT-REC ASSIGN TO "sorted.dat"
|
||||
ORGANIZATION IS SEQUENTIAL
|
||||
ACCESS MODE IS SEQUENTIAL
|
||||
FILE STATUS IS FS.
|
||||
SELECT SORT-REC ASSIGN TO "sort.dat".
|
||||
DATA DIVISION.
|
||||
FILE SECTION.
|
||||
FD ARQ
|
||||
LABEL RECORD IS STANDARD.
|
||||
01 REG-ARQ.
|
||||
03 P-IND PIC 9(03).
|
||||
03 DESCRIPTION PIC X(20).
|
||||
03 N-KEY2 PIC 9(02).
|
||||
03 DESC2 PIC X(04).
|
||||
FD OUT-REC.
|
||||
01 MAIN-RECORD PIC X(29).
|
||||
SD SORT-REC.
|
||||
01 MAIN-REC.
|
||||
03 INDICATOR PIC 9(03).
|
||||
03 DESC PIC X(20).
|
||||
03 SF-KEY2 PIC 9(02).
|
||||
03 SF-DESC2 PIC X(04).
|
||||
WORKING-STORAGE SECTION.
|
||||
01 FS PIC X(02).
|
||||
01 W-CNT-IN PIC S9(4) COMP.
|
||||
01 W-CNT-OUT PIC S9(4) COMP.
|
||||
01 REM PIC 9(5).
|
||||
01 W01-SWITCHES PIC X(03).
|
||||
88 W01-END VALUE "YES".
|
||||
88 W01-MORE VALUE "NO".
|
||||
01 WSRT-REC.
|
||||
03 WSRT-IND PIC 9(03).
|
||||
03 WSRT-DESC PIC X(20).
|
||||
03 WSRT-KEY2 PIC 9(02).
|
||||
03 WSRT-DESC2 PIC X(04).
|
||||
01 EXPECTED-SEQUENCE-RESULT-CONST.
|
||||
05 FILLER PIC S9(4) COMP VALUE 20.
|
||||
05 FILLER PIC S9(4) COMP VALUE 10.
|
||||
05 FILLER PIC S9(4) COMP VALUE 19.
|
||||
05 FILLER PIC S9(4) COMP VALUE 9.
|
||||
05 FILLER PIC S9(4) COMP VALUE 18.
|
||||
05 FILLER PIC S9(4) COMP VALUE 8.
|
||||
05 FILLER PIC S9(4) COMP VALUE 17.
|
||||
05 FILLER PIC S9(4) COMP VALUE 7.
|
||||
05 FILLER PIC S9(4) COMP VALUE 16.
|
||||
05 FILLER PIC S9(4) COMP VALUE 6.
|
||||
05 FILLER PIC S9(4) COMP VALUE 15.
|
||||
05 FILLER PIC S9(4) COMP VALUE 5.
|
||||
05 FILLER PIC S9(4) COMP VALUE 14.
|
||||
05 FILLER PIC S9(4) COMP VALUE 13.
|
||||
05 FILLER PIC S9(4) COMP VALUE 4.
|
||||
05 FILLER PIC S9(4) COMP VALUE 3.
|
||||
05 FILLER PIC S9(4) COMP VALUE 12.
|
||||
05 FILLER PIC S9(4) COMP VALUE 2.
|
||||
05 FILLER PIC S9(4) COMP VALUE 11.
|
||||
05 FILLER PIC S9(4) COMP VALUE 1.
|
||||
01 EXPECTED-RESULT-REDEF REDEFINES EXPECTED-SEQUENCE-RESULT-CONST.
|
||||
05 ESR-ENT OCCURS 20.
|
||||
10 ESR-VAL PIC S9(4) COMP.
|
||||
01 GSR-TAB.
|
||||
05 GSR-ENT OCCURS 20.
|
||||
10 GSR-VAL PIC S9(4) COMP.
|
||||
PROCEDURE DIVISION.
|
||||
MAIN SECTION.
|
||||
MOVE 0 TO W-CNT-IN W-CNT-OUT REM.
|
||||
SORT SORT-REC ASCENDING KEY SF-KEY2
|
||||
DESCENDING KEY INDICATOR
|
||||
USING ARQ
|
||||
GIVING OUT-REC
|
||||
|
||||
PERFORM IN-SRT
|
||||
PERFORM CHECK-RESULTS
|
||||
STOP RUN.
|
||||
|
||||
CHECK-RESULTS SECTION.
|
||||
PERFORM VARYING W-CNT-OUT FROM 1 BY 1 UNTIL W-CNT-OUT > 20
|
||||
DISPLAY "SRTIO05:(" GSR-VAL(W-CNT-OUT) "):(" ESR-VAL(W-CNT-OUT)
|
||||
"):Record no " W-CNT-OUT
|
||||
END-PERFORM
|
||||
.
|
||||
|
||||
IN-SRT SECTION.
|
||||
MOVE "NO" TO W01-SWITCHES.
|
||||
OPEN INPUT OUT-REC
|
||||
PERFORM READ-SRT
|
||||
UNTIL W01-END.
|
||||
CLOSE OUT-REC.
|
||||
READ-SRT.
|
||||
READ OUT-REC INTO WSRT-REC
|
||||
AT END MOVE "YES" TO W01-SWITCHES
|
||||
IF (FS NOT = "00") AND W01-MORE
|
||||
DISPLAY "Error on Reading Sorted File " FS W01-SWITCHES
|
||||
STOP RUN.
|
||||
IF NOT W01-END
|
||||
ADD 1 TO W-CNT-OUT
|
||||
MOVE WSRT-IND TO GSR-VAL(W-CNT-OUT)
|
||||
.
|
||||
@@ -0,0 +1,78 @@
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. SRTIO06.
|
||||
ENVIRONMENT DIVISION.
|
||||
CONFIGURATION SECTION.
|
||||
INPUT-OUTPUT SECTION.
|
||||
FILE-CONTROL.
|
||||
SELECT GOZOUT ASSIGN TO "./input.dat"
|
||||
ORGANIZATION IS LINE SEQUENTIAL
|
||||
ACCESS IS SEQUENTIAL
|
||||
FILE STATUS IS FS.
|
||||
DATA DIVISION.
|
||||
FILE SECTION.
|
||||
FD GOZOUT
|
||||
LABEL RECORD IS STANDARD.
|
||||
01 GOZOUT-REC.
|
||||
03 X-IND PIC 9(03).
|
||||
03 DESCRIPTION PIC X(20).
|
||||
03 N-KEY2 PIC 9(2).
|
||||
03 DESC2 PIC X(4).
|
||||
WORKING-STORAGE SECTION.
|
||||
01 FS PIC 9(02).
|
||||
01 WS-COUNTERS.
|
||||
05 WS-TEST-COUNTER PIC 9(4).
|
||||
|
||||
PROCEDURE DIVISION.
|
||||
0000-PROGRAM-ENTRY.
|
||||
MOVE 0 TO WS-TEST-COUNTER.
|
||||
PERFORM B000-INITIALIZE THRU B000-EXIT.
|
||||
PERFORM C000-MAIN-LOGIC THRU C000-EXIT.
|
||||
PERFORM D000-CLEANUP THRU D000-EXIT.
|
||||
PERFORM E000-SUMMARY THRU E000-EXIT.
|
||||
STOP RUN.
|
||||
0000-EXIT.
|
||||
EXIT.
|
||||
|
||||
B000-INITIALIZE.
|
||||
OPEN OUTPUT GOZOUT.
|
||||
ADD 1 TO WS-TEST-COUNTER.
|
||||
DISPLAY "SR01:(" FS "):(00):"
|
||||
"SEQUENTIAL I/O OPEN STATUS".
|
||||
B000-EXIT.
|
||||
EXIT.
|
||||
|
||||
C000-MAIN-LOGIC.
|
||||
MOVE SPACES TO GOZOUT-REC.
|
||||
MOVE ALL "A" TO DESCRIPTION.
|
||||
MOVE ALL "D" TO DESC2.
|
||||
MOVE 0 TO X-IND N-KEY2.
|
||||
PERFORM F000-WRITE-REC 20 TIMES.
|
||||
|
||||
C000-EXIT.
|
||||
EXIT.
|
||||
|
||||
D000-CLEANUP.
|
||||
CLOSE GOZOUT.
|
||||
DISPLAY "SR03:(" FS "):(00):"
|
||||
"SEQUENTIAL I/O CLOSE STATUS".
|
||||
ADD 1 TO WS-TEST-COUNTER.
|
||||
D000-EXIT.
|
||||
EXIT.
|
||||
|
||||
E000-SUMMARY.
|
||||
DISPLAY "SR04:(" WS-TEST-COUNTER "):(0022):"
|
||||
"TEST COUNT VALIDATION".
|
||||
E000-EXIT.
|
||||
EXIT.
|
||||
F000-WRITE-REC.
|
||||
ADD 1 TO X-IND.
|
||||
IF X-IND > 10
|
||||
COMPUTE N-KEY2 = 21 - X-IND
|
||||
ELSE
|
||||
COMPUTE N-KEY2 = 11 - X-IND
|
||||
END-IF
|
||||
IF N-KEY2 = 7
|
||||
MOVE 8 TO N-KEY2
|
||||
END-IF
|
||||
WRITE GOZOUT-REC.
|
||||
ADD 1 TO WS-TEST-COUNTER.
|
||||
@@ -0,0 +1,127 @@
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. SRTIO02.
|
||||
ENVIRONMENT DIVISION.
|
||||
CONFIGURATION SECTION.
|
||||
INPUT-OUTPUT SECTION.
|
||||
FILE-CONTROL.
|
||||
SELECT ARQ ASSIGN TO "input.dat"
|
||||
ORGANIZATION IS LINE SEQUENTIAL
|
||||
ACCESS MODE IS SEQUENTIAL
|
||||
FILE STATUS IS FS.
|
||||
SELECT OUT-REC ASSIGN TO "sorted.dat"
|
||||
ORGANIZATION IS LINE SEQUENTIAL
|
||||
ACCESS MODE IS SEQUENTIAL
|
||||
FILE STATUS IS FS.
|
||||
SELECT SORT-REC ASSIGN TO "sort.dat".
|
||||
DATA DIVISION.
|
||||
FILE SECTION.
|
||||
FD ARQ
|
||||
LABEL RECORD IS STANDARD.
|
||||
01 REG-ARQ.
|
||||
03 P-IND PIC 9(03).
|
||||
03 DESCRIPTION PIC X(20).
|
||||
03 N-KEY2 PIC 9(02).
|
||||
03 DESC2 PIC X(04).
|
||||
FD OUT-REC.
|
||||
01 MAIN-RECORD PIC X(29).
|
||||
SD SORT-REC.
|
||||
01 MAIN-REC.
|
||||
03 INDICATOR PIC 9(03).
|
||||
03 DESC PIC X(20).
|
||||
03 SF-KEY2 PIC 9(02).
|
||||
03 SF-DESC2 PIC X(04).
|
||||
WORKING-STORAGE SECTION.
|
||||
01 FS PIC X(02).
|
||||
01 W-CNT-IN PIC S9(4) COMP.
|
||||
01 W-CNT-OUT PIC S9(4) COMP.
|
||||
01 REM PIC 9(5).
|
||||
01 W01-SWITCHES PIC X(03).
|
||||
88 W01-END VALUE "YES".
|
||||
88 W01-MORE VALUE "NO".
|
||||
01 WSRT-REC.
|
||||
03 WSRT-IND PIC 9(03).
|
||||
03 WSRT-DESC PIC X(20).
|
||||
03 WSRT-KEY2 PIC 9(02).
|
||||
03 WSRT-DESC2 PIC X(04).
|
||||
01 EXPECTED-SEQUENCE-RESULT-CONST.
|
||||
05 FILLER PIC S9(4) COMP VALUE 20.
|
||||
05 FILLER PIC S9(4) COMP VALUE 10.
|
||||
05 FILLER PIC S9(4) COMP VALUE 19.
|
||||
05 FILLER PIC S9(4) COMP VALUE 9.
|
||||
05 FILLER PIC S9(4) COMP VALUE 18.
|
||||
05 FILLER PIC S9(4) COMP VALUE 8.
|
||||
05 FILLER PIC S9(4) COMP VALUE 17.
|
||||
05 FILLER PIC S9(4) COMP VALUE 7.
|
||||
05 FILLER PIC S9(4) COMP VALUE 16.
|
||||
05 FILLER PIC S9(4) COMP VALUE 6.
|
||||
05 FILLER PIC S9(4) COMP VALUE 15.
|
||||
05 FILLER PIC S9(4) COMP VALUE 5.
|
||||
05 FILLER PIC S9(4) COMP VALUE 14.
|
||||
05 FILLER PIC S9(4) COMP VALUE 13.
|
||||
05 FILLER PIC S9(4) COMP VALUE 4.
|
||||
05 FILLER PIC S9(4) COMP VALUE 3.
|
||||
05 FILLER PIC S9(4) COMP VALUE 12.
|
||||
05 FILLER PIC S9(4) COMP VALUE 2.
|
||||
05 FILLER PIC S9(4) COMP VALUE 11.
|
||||
05 FILLER PIC S9(4) COMP VALUE 1.
|
||||
01 EXPECTED-RESULT-REDEF REDEFINES EXPECTED-SEQUENCE-RESULT-CONST.
|
||||
05 ESR-ENT OCCURS 20.
|
||||
10 ESR-VAL PIC S9(4) COMP.
|
||||
01 GSR-TAB.
|
||||
05 GSR-ENT OCCURS 20.
|
||||
10 GSR-VAL PIC S9(4) COMP.
|
||||
PROCEDURE DIVISION.
|
||||
MAIN SECTION.
|
||||
MOVE 0 TO W-CNT-IN W-CNT-OUT REM.
|
||||
SORT SORT-REC ASCENDING KEY SF-KEY2
|
||||
DESCENDING KEY INDICATOR
|
||||
INPUT PROCEDURE IN-ARQ
|
||||
OUTPUT PROCEDURE OUT-RECORD.
|
||||
|
||||
PERFORM CHECK-RESULTS
|
||||
STOP RUN.
|
||||
|
||||
CHECK-RESULTS SECTION.
|
||||
PERFORM VARYING W-CNT-OUT FROM 1 BY 1 UNTIL W-CNT-OUT > 20
|
||||
DISPLAY "SRTIO07:(" GSR-VAL(W-CNT-OUT) "):(" ESR-VAL(W-CNT-OUT)
|
||||
"):Record no " W-CNT-OUT
|
||||
END-PERFORM
|
||||
.
|
||||
|
||||
IN-ARQ SECTION.
|
||||
MOVE "NO" TO W01-SWITCHES.
|
||||
OPEN INPUT ARQ.
|
||||
PERFORM READ-INPUT
|
||||
UNTIL W01-END.
|
||||
CLOSE ARQ.
|
||||
READ-INPUT.
|
||||
READ ARQ
|
||||
AT END MOVE "YES" TO W01-SWITCHES
|
||||
IF (FS NOT = "00") AND W01-MORE
|
||||
DISPLAY "Error on Reading Input File " FS W01-SWITCHES
|
||||
STOP RUN.
|
||||
IF NOT W01-END
|
||||
MOVE REG-ARQ TO MAIN-REC
|
||||
RELEASE MAIN-REC
|
||||
ADD 1 TO W-CNT-IN
|
||||
.
|
||||
OUT-RECORD SECTION.
|
||||
OPEN OUTPUT OUT-REC.
|
||||
IF FS NOT = "00"
|
||||
DISPLAY "Error on Opening output File " FS
|
||||
STOP RUN.
|
||||
MOVE "NO" TO W01-SWITCHES.
|
||||
PERFORM WRITE-OUTPUT
|
||||
UNTIL W01-END.
|
||||
WRITE-OUTPUT.
|
||||
RETURN SORT-REC INTO WSRT-REC
|
||||
AT END MOVE "YES" TO W01-SWITCHES.
|
||||
IF NOT W01-END
|
||||
ADD 1 TO W-CNT-OUT
|
||||
DISPLAY WSRT-IND "," WSRT-KEY2
|
||||
MOVE WSRT-IND TO GSR-VAL(W-CNT-OUT)
|
||||
MOVE WSRT-REC TO MAIN-RECORD
|
||||
WRITE MAIN-RECORD.
|
||||
IF (FS NOT = "00") AND W01-MORE
|
||||
DISPLAY "Error on Writing Output File " FS
|
||||
STOP RUN.
|
||||
@@ -0,0 +1,109 @@
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. SRTIO08.
|
||||
ENVIRONMENT DIVISION.
|
||||
CONFIGURATION SECTION.
|
||||
INPUT-OUTPUT SECTION.
|
||||
FILE-CONTROL.
|
||||
SELECT ARQ ASSIGN TO "input.dat"
|
||||
ORGANIZATION IS LINE SEQUENTIAL
|
||||
ACCESS MODE IS SEQUENTIAL
|
||||
FILE STATUS IS FS.
|
||||
SELECT OUT-REC ASSIGN TO "sorted.dat"
|
||||
ORGANIZATION IS LINE SEQUENTIAL
|
||||
ACCESS MODE IS SEQUENTIAL
|
||||
FILE STATUS IS FS.
|
||||
SELECT SORT-REC ASSIGN TO "sort.dat".
|
||||
DATA DIVISION.
|
||||
FILE SECTION.
|
||||
FD ARQ
|
||||
LABEL RECORD IS STANDARD.
|
||||
01 REG-ARQ.
|
||||
03 P-IND PIC 9(03).
|
||||
03 DESCRIPTION PIC X(20).
|
||||
03 N-KEY2 PIC 9(02).
|
||||
03 DESC2 PIC X(04).
|
||||
FD OUT-REC.
|
||||
01 MAIN-RECORD PIC X(29).
|
||||
SD SORT-REC.
|
||||
01 MAIN-REC.
|
||||
03 INDICATOR PIC 9(03).
|
||||
03 DESC PIC X(20).
|
||||
03 SF-KEY2 PIC 9(02).
|
||||
03 SF-DESC2 PIC X(04).
|
||||
WORKING-STORAGE SECTION.
|
||||
01 FS PIC X(02).
|
||||
01 W-CNT-IN PIC S9(4) COMP.
|
||||
01 W-CNT-OUT PIC S9(4) COMP.
|
||||
01 REM PIC 9(5).
|
||||
01 W01-SWITCHES PIC X(03).
|
||||
88 W01-END VALUE "YES".
|
||||
88 W01-MORE VALUE "NO".
|
||||
01 WSRT-REC.
|
||||
03 WSRT-IND PIC 9(03).
|
||||
03 WSRT-DESC PIC X(20).
|
||||
03 WSRT-KEY2 PIC 9(02).
|
||||
03 WSRT-DESC2 PIC X(04).
|
||||
01 EXPECTED-SEQUENCE-RESULT-CONST.
|
||||
05 FILLER PIC S9(4) COMP VALUE 20.
|
||||
05 FILLER PIC S9(4) COMP VALUE 10.
|
||||
05 FILLER PIC S9(4) COMP VALUE 19.
|
||||
05 FILLER PIC S9(4) COMP VALUE 9.
|
||||
05 FILLER PIC S9(4) COMP VALUE 18.
|
||||
05 FILLER PIC S9(4) COMP VALUE 8.
|
||||
05 FILLER PIC S9(4) COMP VALUE 17.
|
||||
05 FILLER PIC S9(4) COMP VALUE 7.
|
||||
05 FILLER PIC S9(4) COMP VALUE 16.
|
||||
05 FILLER PIC S9(4) COMP VALUE 6.
|
||||
05 FILLER PIC S9(4) COMP VALUE 15.
|
||||
05 FILLER PIC S9(4) COMP VALUE 5.
|
||||
05 FILLER PIC S9(4) COMP VALUE 14.
|
||||
05 FILLER PIC S9(4) COMP VALUE 13.
|
||||
05 FILLER PIC S9(4) COMP VALUE 4.
|
||||
05 FILLER PIC S9(4) COMP VALUE 3.
|
||||
05 FILLER PIC S9(4) COMP VALUE 12.
|
||||
05 FILLER PIC S9(4) COMP VALUE 2.
|
||||
05 FILLER PIC S9(4) COMP VALUE 11.
|
||||
05 FILLER PIC S9(4) COMP VALUE 1.
|
||||
01 EXPECTED-RESULT-REDEF REDEFINES EXPECTED-SEQUENCE-RESULT-CONST.
|
||||
05 ESR-ENT OCCURS 20.
|
||||
10 ESR-VAL PIC S9(4) COMP.
|
||||
01 GSR-TAB.
|
||||
05 GSR-ENT OCCURS 20.
|
||||
10 GSR-VAL PIC S9(4) COMP.
|
||||
PROCEDURE DIVISION.
|
||||
MAIN SECTION.
|
||||
MOVE 0 TO W-CNT-IN W-CNT-OUT REM.
|
||||
SORT SORT-REC ASCENDING KEY SF-KEY2
|
||||
DESCENDING KEY INDICATOR
|
||||
USING ARQ
|
||||
OUTPUT PROCEDURE OUT-RECORD.
|
||||
|
||||
PERFORM CHECK-RESULTS
|
||||
STOP RUN.
|
||||
|
||||
CHECK-RESULTS SECTION.
|
||||
PERFORM VARYING W-CNT-OUT FROM 1 BY 1 UNTIL W-CNT-OUT > 20
|
||||
DISPLAY "SRTIO08:(" GSR-VAL(W-CNT-OUT) "):(" ESR-VAL(W-CNT-OUT)
|
||||
"):Record no " W-CNT-OUT
|
||||
END-PERFORM
|
||||
.
|
||||
|
||||
OUT-RECORD SECTION.
|
||||
OPEN OUTPUT OUT-REC.
|
||||
IF FS NOT = "00"
|
||||
DISPLAY "Error on Opening output File " FS
|
||||
STOP RUN.
|
||||
MOVE "NO" TO W01-SWITCHES.
|
||||
PERFORM WRITE-OUTPUT
|
||||
UNTIL W01-END.
|
||||
WRITE-OUTPUT.
|
||||
RETURN SORT-REC INTO WSRT-REC
|
||||
AT END MOVE "YES" TO W01-SWITCHES.
|
||||
IF NOT W01-END
|
||||
ADD 1 TO W-CNT-OUT
|
||||
MOVE WSRT-IND TO GSR-VAL(W-CNT-OUT)
|
||||
MOVE WSRT-REC TO MAIN-RECORD
|
||||
WRITE MAIN-RECORD.
|
||||
IF (FS NOT = "00") AND W01-MORE
|
||||
DISPLAY "Error on Writing Output File " FS
|
||||
STOP RUN.
|
||||
@@ -0,0 +1,125 @@
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. SRTIO09.
|
||||
ENVIRONMENT DIVISION.
|
||||
CONFIGURATION SECTION.
|
||||
INPUT-OUTPUT SECTION.
|
||||
FILE-CONTROL.
|
||||
SELECT ARQ ASSIGN TO "input.dat"
|
||||
ORGANIZATION IS LINE SEQUENTIAL
|
||||
ACCESS MODE IS SEQUENTIAL
|
||||
FILE STATUS IS FS.
|
||||
SELECT OUT-REC ASSIGN TO "sorted.dat"
|
||||
ORGANIZATION IS LINE SEQUENTIAL
|
||||
ACCESS MODE IS SEQUENTIAL
|
||||
FILE STATUS IS FS.
|
||||
SELECT SORT-REC ASSIGN TO "sort.dat".
|
||||
DATA DIVISION.
|
||||
FILE SECTION.
|
||||
FD ARQ
|
||||
LABEL RECORD IS STANDARD.
|
||||
01 REG-ARQ.
|
||||
03 P-IND PIC 9(03).
|
||||
03 DESCRIPTION PIC X(20).
|
||||
03 N-KEY2 PIC 9(02).
|
||||
03 DESC2 PIC X(04).
|
||||
FD OUT-REC.
|
||||
01 MAIN-RECORD PIC X(29).
|
||||
SD SORT-REC.
|
||||
01 MAIN-REC.
|
||||
03 INDICATOR PIC 9(03).
|
||||
03 DESC PIC X(20).
|
||||
03 SF-KEY2 PIC 9(02).
|
||||
03 SF-DESC2 PIC X(04).
|
||||
WORKING-STORAGE SECTION.
|
||||
01 FS PIC X(02).
|
||||
01 W-CNT-IN PIC S9(4) COMP.
|
||||
01 W-CNT-OUT PIC S9(4) COMP.
|
||||
01 REM PIC 9(5).
|
||||
01 W01-SWITCHES PIC X(03).
|
||||
88 W01-END VALUE "YES".
|
||||
88 W01-MORE VALUE "NO".
|
||||
01 WSRT-REC.
|
||||
03 WSRT-IND PIC 9(03).
|
||||
03 WSRT-DESC PIC X(20).
|
||||
03 WSRT-KEY2 PIC 9(02).
|
||||
03 WSRT-DESC2 PIC X(04).
|
||||
01 EXPECTED-SEQUENCE-RESULT-CONST.
|
||||
05 FILLER PIC S9(4) COMP VALUE 20.
|
||||
05 FILLER PIC S9(4) COMP VALUE 10.
|
||||
05 FILLER PIC S9(4) COMP VALUE 19.
|
||||
05 FILLER PIC S9(4) COMP VALUE 9.
|
||||
05 FILLER PIC S9(4) COMP VALUE 18.
|
||||
05 FILLER PIC S9(4) COMP VALUE 8.
|
||||
05 FILLER PIC S9(4) COMP VALUE 17.
|
||||
05 FILLER PIC S9(4) COMP VALUE 7.
|
||||
05 FILLER PIC S9(4) COMP VALUE 16.
|
||||
05 FILLER PIC S9(4) COMP VALUE 6.
|
||||
05 FILLER PIC S9(4) COMP VALUE 15.
|
||||
05 FILLER PIC S9(4) COMP VALUE 5.
|
||||
05 FILLER PIC S9(4) COMP VALUE 14.
|
||||
05 FILLER PIC S9(4) COMP VALUE 13.
|
||||
05 FILLER PIC S9(4) COMP VALUE 4.
|
||||
05 FILLER PIC S9(4) COMP VALUE 3.
|
||||
05 FILLER PIC S9(4) COMP VALUE 12.
|
||||
05 FILLER PIC S9(4) COMP VALUE 2.
|
||||
05 FILLER PIC S9(4) COMP VALUE 11.
|
||||
05 FILLER PIC S9(4) COMP VALUE 1.
|
||||
01 EXPECTED-RESULT-REDEF REDEFINES EXPECTED-SEQUENCE-RESULT-CONST.
|
||||
05 ESR-ENT OCCURS 20.
|
||||
10 ESR-VAL PIC S9(4) COMP.
|
||||
01 GSR-TAB.
|
||||
05 GSR-ENT OCCURS 20.
|
||||
10 GSR-VAL PIC S9(4) COMP.
|
||||
PROCEDURE DIVISION.
|
||||
MAIN SECTION.
|
||||
MOVE 0 TO W-CNT-IN W-CNT-OUT REM.
|
||||
SORT SORT-REC ASCENDING KEY SF-KEY2
|
||||
DESCENDING KEY INDICATOR
|
||||
INPUT PROCEDURE IN-ARQ
|
||||
GIVING OUT-REC
|
||||
|
||||
PERFORM IN-SRT
|
||||
PERFORM CHECK-RESULTS
|
||||
STOP RUN.
|
||||
|
||||
CHECK-RESULTS SECTION.
|
||||
PERFORM VARYING W-CNT-OUT FROM 1 BY 1 UNTIL W-CNT-OUT > 20
|
||||
DISPLAY "SRTIO09:(" GSR-VAL(W-CNT-OUT) "):(" ESR-VAL(W-CNT-OUT)
|
||||
"):Record no " W-CNT-OUT
|
||||
END-PERFORM
|
||||
.
|
||||
|
||||
IN-ARQ SECTION.
|
||||
MOVE "NO" TO W01-SWITCHES.
|
||||
OPEN INPUT ARQ.
|
||||
PERFORM READ-INPUT
|
||||
UNTIL W01-END.
|
||||
CLOSE ARQ.
|
||||
READ-INPUT.
|
||||
READ ARQ
|
||||
AT END MOVE "YES" TO W01-SWITCHES
|
||||
IF (FS NOT = "00") AND W01-MORE
|
||||
DISPLAY "Error on Reading Input File " FS W01-SWITCHES
|
||||
STOP RUN.
|
||||
IF NOT W01-END
|
||||
MOVE REG-ARQ TO MAIN-REC
|
||||
display main-rec
|
||||
RELEASE MAIN-REC
|
||||
ADD 1 TO W-CNT-IN
|
||||
.
|
||||
IN-SRT SECTION.
|
||||
MOVE "NO" TO W01-SWITCHES.
|
||||
OPEN INPUT OUT-REC
|
||||
PERFORM READ-SRT
|
||||
UNTIL W01-END.
|
||||
CLOSE OUT-REC.
|
||||
READ-SRT.
|
||||
READ OUT-REC INTO WSRT-REC
|
||||
AT END MOVE "YES" TO W01-SWITCHES
|
||||
IF (FS NOT = "00") AND W01-MORE
|
||||
DISPLAY "Error on Reading Sorted File " FS W01-SWITCHES
|
||||
STOP RUN.
|
||||
IF NOT W01-END
|
||||
ADD 1 TO W-CNT-OUT
|
||||
MOVE WSRT-IND TO GSR-VAL(W-CNT-OUT)
|
||||
.
|
||||
@@ -0,0 +1,107 @@
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. SRTIO10.
|
||||
ENVIRONMENT DIVISION.
|
||||
CONFIGURATION SECTION.
|
||||
INPUT-OUTPUT SECTION.
|
||||
FILE-CONTROL.
|
||||
SELECT ARQ ASSIGN TO "input.dat"
|
||||
ORGANIZATION IS LINE SEQUENTIAL
|
||||
ACCESS MODE IS SEQUENTIAL
|
||||
FILE STATUS IS FS.
|
||||
SELECT OUT-REC ASSIGN TO "sorted.dat"
|
||||
ORGANIZATION IS LINE SEQUENTIAL
|
||||
ACCESS MODE IS SEQUENTIAL
|
||||
FILE STATUS IS FS.
|
||||
SELECT SORT-REC ASSIGN TO "sort.dat".
|
||||
DATA DIVISION.
|
||||
FILE SECTION.
|
||||
FD ARQ
|
||||
LABEL RECORD IS STANDARD.
|
||||
01 REG-ARQ.
|
||||
03 P-IND PIC 9(03).
|
||||
03 DESCRIPTION PIC X(20).
|
||||
03 N-KEY2 PIC 9(02).
|
||||
03 DESC2 PIC X(04).
|
||||
FD OUT-REC.
|
||||
01 MAIN-RECORD PIC X(29).
|
||||
SD SORT-REC.
|
||||
01 MAIN-REC.
|
||||
03 INDICATOR PIC 9(03).
|
||||
03 DESC PIC X(20).
|
||||
03 SF-KEY2 PIC 9(02).
|
||||
03 SF-DESC2 PIC X(04).
|
||||
WORKING-STORAGE SECTION.
|
||||
01 FS PIC X(02).
|
||||
01 W-CNT-IN PIC S9(4) COMP.
|
||||
01 W-CNT-OUT PIC S9(4) COMP.
|
||||
01 REM PIC 9(5).
|
||||
01 W01-SWITCHES PIC X(03).
|
||||
88 W01-END VALUE "YES".
|
||||
88 W01-MORE VALUE "NO".
|
||||
01 WSRT-REC.
|
||||
03 WSRT-IND PIC 9(03).
|
||||
03 WSRT-DESC PIC X(20).
|
||||
03 WSRT-KEY2 PIC 9(02).
|
||||
03 WSRT-DESC2 PIC X(04).
|
||||
01 EXPECTED-SEQUENCE-RESULT-CONST.
|
||||
05 FILLER PIC S9(4) COMP VALUE 20.
|
||||
05 FILLER PIC S9(4) COMP VALUE 10.
|
||||
05 FILLER PIC S9(4) COMP VALUE 19.
|
||||
05 FILLER PIC S9(4) COMP VALUE 9.
|
||||
05 FILLER PIC S9(4) COMP VALUE 18.
|
||||
05 FILLER PIC S9(4) COMP VALUE 8.
|
||||
05 FILLER PIC S9(4) COMP VALUE 17.
|
||||
05 FILLER PIC S9(4) COMP VALUE 7.
|
||||
05 FILLER PIC S9(4) COMP VALUE 16.
|
||||
05 FILLER PIC S9(4) COMP VALUE 6.
|
||||
05 FILLER PIC S9(4) COMP VALUE 15.
|
||||
05 FILLER PIC S9(4) COMP VALUE 5.
|
||||
05 FILLER PIC S9(4) COMP VALUE 14.
|
||||
05 FILLER PIC S9(4) COMP VALUE 13.
|
||||
05 FILLER PIC S9(4) COMP VALUE 4.
|
||||
05 FILLER PIC S9(4) COMP VALUE 3.
|
||||
05 FILLER PIC S9(4) COMP VALUE 12.
|
||||
05 FILLER PIC S9(4) COMP VALUE 2.
|
||||
05 FILLER PIC S9(4) COMP VALUE 11.
|
||||
05 FILLER PIC S9(4) COMP VALUE 1.
|
||||
01 EXPECTED-RESULT-REDEF REDEFINES EXPECTED-SEQUENCE-RESULT-CONST.
|
||||
05 ESR-ENT OCCURS 20.
|
||||
10 ESR-VAL PIC S9(4) COMP.
|
||||
01 GSR-TAB.
|
||||
05 GSR-ENT OCCURS 20.
|
||||
10 GSR-VAL PIC S9(4) COMP.
|
||||
PROCEDURE DIVISION.
|
||||
MAIN SECTION.
|
||||
MOVE 0 TO W-CNT-IN W-CNT-OUT REM.
|
||||
SORT SORT-REC ASCENDING KEY SF-KEY2
|
||||
DESCENDING KEY INDICATOR
|
||||
USING ARQ
|
||||
GIVING OUT-REC
|
||||
|
||||
PERFORM IN-SRT
|
||||
PERFORM CHECK-RESULTS
|
||||
STOP RUN.
|
||||
|
||||
CHECK-RESULTS SECTION.
|
||||
PERFORM VARYING W-CNT-OUT FROM 1 BY 1 UNTIL W-CNT-OUT > 20
|
||||
DISPLAY "SRTIO10:(" GSR-VAL(W-CNT-OUT) "):(" ESR-VAL(W-CNT-OUT)
|
||||
"):Record no " W-CNT-OUT
|
||||
END-PERFORM
|
||||
.
|
||||
|
||||
IN-SRT SECTION.
|
||||
MOVE "NO" TO W01-SWITCHES.
|
||||
OPEN INPUT OUT-REC
|
||||
PERFORM READ-SRT
|
||||
UNTIL W01-END.
|
||||
CLOSE OUT-REC.
|
||||
READ-SRT.
|
||||
READ OUT-REC INTO WSRT-REC
|
||||
AT END MOVE "YES" TO W01-SWITCHES
|
||||
IF (FS NOT = "00") AND W01-MORE
|
||||
DISPLAY "Error on Reading Sorted File " FS W01-SWITCHES
|
||||
STOP RUN.
|
||||
IF NOT W01-END
|
||||
ADD 1 TO W-CNT-OUT
|
||||
MOVE WSRT-IND TO GSR-VAL(W-CNT-OUT)
|
||||
.
|
||||
@@ -0,0 +1,10 @@
|
||||
srtio01:S:Sort fixed file preparation
|
||||
srtio02:S:Sort fixed file IP OP
|
||||
srtio03:S:Sort fixed file US OP
|
||||
srtio04:S:Sort fixed file IP GI
|
||||
srtio05:S:Sort fixed file US GI
|
||||
srtio06:S:Sort LS file preparation
|
||||
srtio07:S:Sort LS file IP OP
|
||||
srtio08:S:Sort LS file US OP
|
||||
srtio09:S:Sort LS file IP GI
|
||||
srtio10:S:Sort LS file US GI
|
||||
Reference in New Issue
Block a user