85 lines
2.0 KiB
COBOL
85 lines
2.0 KiB
COBOL
IDENTIFICATION DIVISION.
|
|
PROGRAM-ID. TEST18R.
|
|
ENVIRONMENT DIVISION.
|
|
|
|
CONFIGURATION SECTION.
|
|
SPECIAL-NAMES.
|
|
DECIMAL-POINT IS COMMA.
|
|
INPUT-OUTPUT SECTION.
|
|
FILE-CONTROL.
|
|
SELECT ARQ ASSIGN TO "./Raw.dat"
|
|
ORGANIZATION IS RELATIVE
|
|
ACCESS MODE IS DYNAMIC
|
|
RELATIVE KEY IS P-IND
|
|
FILE STATUS IS FS.
|
|
|
|
DATA DIVISION.
|
|
FILE SECTION.
|
|
|
|
FD ARQ
|
|
LABEL RECORD IS STANDARD.
|
|
01 REG-ARQ.
|
|
03 P-IND PIC 9(03).
|
|
03 DESCRIPTION PIC X(60) VALUE "AAAAAAAAAAAAAAA".
|
|
03 KEY-1 PIC 9(04).
|
|
03 KEY-2 PIC 9(04).
|
|
|
|
|
|
WORKING-STORAGE SECTION.
|
|
01 FS PIC 9(02).
|
|
01 W-COUNTER PIC 9(15).
|
|
01 REM PIC 9(5).
|
|
01 W01-SWITCHES PIC X(03).
|
|
88 W01-END VALUE "YES".
|
|
88 W01-MORE VALUE "NO".
|
|
|
|
PROCEDURE DIVISION.
|
|
MAIN SECTION.
|
|
OPEN OUTPUT ARQ.
|
|
MOVE ZERO TO W-COUNTER.
|
|
PERFORM WRITE-IT 998 TIMES.
|
|
CLOSE ARQ.
|
|
OPEN I-O ARQ.
|
|
MOVE "NO" TO W01-SWITCHES.
|
|
PERFORM READ-IT UNTIL W01-END.
|
|
CLOSE ARQ.
|
|
STOP RUN.
|
|
|
|
WRITE-IT.
|
|
ADD 1 TO W-COUNTER.
|
|
MOVE W-COUNTER TO KEY-1.
|
|
ADD 1000 TO KEY-1.
|
|
MOVE 1000 TO KEY-2.
|
|
SUBTRACT W-COUNTER FROM KEY-2.
|
|
MOVE W-COUNTER TO P-IND.
|
|
WRITE REG-ARQ.
|
|
|
|
READ-IT.
|
|
DISPLAY "Enter the Record to Start (1-998) 0 to Stop".
|
|
ACCEPT W-COUNTER.
|
|
MOVE W-COUNTER TO P-IND.
|
|
IF W-COUNTER > 0
|
|
START ARQ KEY IS LESS THAN P-IND
|
|
INVALID KEY
|
|
MOVE "YES" TO W01-SWITCHES.
|
|
DISPLAY "Start Status:" FS.
|
|
IF W-COUNTER = 0
|
|
MOVE "YES" TO W01-SWITCHES.
|
|
IF W01-MORE
|
|
READ ARQ
|
|
AT END MOVE "YES" TO W01-SWITCHES
|
|
END-READ
|
|
IF W01-MORE
|
|
DISPLAY "Record Selected Is: "
|
|
DISPLAY REG-ARQ
|
|
DISPLAY FS.
|
|
IF W01-MORE
|
|
READ ARQ NEXT
|
|
AT END MOVE "YES" TO W01-SWITCHES
|
|
END-READ
|
|
IF W01-MORE
|
|
DISPLAY "Record Selected Is: "
|
|
DISPLAY REG-ARQ
|
|
DISPLAY FS.
|
|
|