79 lines
1.9 KiB
COBOL
79 lines
1.9 KiB
COBOL
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.
|