version 0.73.0

This commit is contained in:
2023-07-14 12:15:30 -03:00
parent 110d8a0419
commit 945dd1a809
1466 changed files with 374820 additions and 0 deletions
+78
View File
@@ -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.
+127
View File
@@ -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.
+110
View File
@@ -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.
+124
View File
@@ -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)
.
+107
View File
@@ -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)
.
+78
View File
@@ -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.
+127
View File
@@ -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.
+109
View File
@@ -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.
+125
View File
@@ -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)
.
+107
View File
@@ -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)
.
+10
View File
@@ -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