version 0.73.0
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. IDXIO01.
|
||||
ENVIRONMENT DIVISION.
|
||||
* This program creates the random access file used in
|
||||
* subsequent tests in this directory.
|
||||
|
||||
CONFIGURATION SECTION.
|
||||
INPUT-OUTPUT SECTION.
|
||||
FILE-CONTROL.
|
||||
SELECT TEST-FILE
|
||||
ASSIGN TO "./idx_test.dat"
|
||||
ORGANIZATION IS INDEXED
|
||||
ACCESS MODE IS DYNAMIC
|
||||
RECORD KEY IS TR-KEY
|
||||
FILE STATUS IS TR-FS.
|
||||
|
||||
DATA DIVISION.
|
||||
FILE SECTION.
|
||||
FD TEST-FILE
|
||||
LABEL RECORDS ARE STANDARD.
|
||||
01 TEST-REC.
|
||||
05 TR-KEY PIC 9(03).
|
||||
05 TR-REC-TYPE PIC X(02).
|
||||
05 TR-DESCRIPTION PIC X(60).
|
||||
|
||||
|
||||
WORKING-STORAGE SECTION.
|
||||
01 TR-FS PIC 9(02).
|
||||
01 W-COUNTER PIC 9(15).
|
||||
01 REM PIC 9(5).
|
||||
|
||||
PROCEDURE DIVISION.
|
||||
0000-PROGRAM-ENTRY.
|
||||
PERFORM A000-INITIALIZE.
|
||||
|
||||
PERFORM 9000-WRITE-IT 998 TIMES.
|
||||
PERFORM B000-HOUSEKEEPING.
|
||||
|
||||
STOP RUN.
|
||||
|
||||
A000-INITIALIZE.
|
||||
MOVE ZERO TO W-COUNTER.
|
||||
OPEN OUTPUT TEST-FILE.
|
||||
DISPLAY "IXO1:(" TR-FS "):(00):INDEX WRITE OPEN".
|
||||
|
||||
B000-HOUSEKEEPING.
|
||||
CLOSE TEST-FILE.
|
||||
DISPLAY "IXC1:(" TR-FS "):(00):INDEX WRITE CLOSE".
|
||||
|
||||
9000-WRITE-IT.
|
||||
ADD 1 TO W-COUNTER.
|
||||
MOVE W-COUNTER TO TR-KEY.
|
||||
MOVE "UR" TO TR-REC-TYPE.
|
||||
MOVE "Undefined Record Type" TO TR-DESCRIPTION.
|
||||
|
||||
IF W-COUNTER = 50
|
||||
MOVE "S1" TO TR-REC-TYPE
|
||||
MOVE "FIFTY" TO TR-DESCRIPTION.
|
||||
|
||||
IF W-COUNTER = 100
|
||||
MOVE "S2" TO TR-REC-TYPE
|
||||
MOVE "HUNDRED" TO TR-DESCRIPTION.
|
||||
|
||||
IF W-COUNTER = 200
|
||||
MOVE "S3" TO TR-REC-TYPE
|
||||
MOVE "TWO HUNDRED" TO TR-DESCRIPTION.
|
||||
|
||||
IF W-COUNTER = 998
|
||||
MOVE "S4" TO TR-REC-TYPE
|
||||
MOVE "LAST" TO TR-DESCRIPTION.
|
||||
|
||||
WRITE TEST-REC.
|
||||
IF TR-REC-TYPE <> "UR"
|
||||
DISPLAY "IX01:(" TR-FS "):(00):INDEX FILE WRITE".
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. IDXIO02.
|
||||
ENVIRONMENT DIVISION.
|
||||
|
||||
CONFIGURATION SECTION.
|
||||
SPECIAL-NAMES.
|
||||
DECIMAL-POINT IS COMMA.
|
||||
INPUT-OUTPUT SECTION.
|
||||
FILE-CONTROL.
|
||||
SELECT TEST-FILE
|
||||
ASSIGN TO "./idx_test.dat"
|
||||
ORGANIZATION IS INDEXED
|
||||
ACCESS MODE IS DYNAMIC
|
||||
RECORD KEY IS TR-KEY
|
||||
FILE STATUS IS TR-FS.
|
||||
|
||||
DATA DIVISION.
|
||||
FILE SECTION.
|
||||
FD TEST-FILE
|
||||
LABEL RECORDS ARE STANDARD.
|
||||
01 TEST-REC.
|
||||
05 TR-KEY PIC 9(03).
|
||||
05 TR-REC-TYPE PIC X(02).
|
||||
05 TR-DESCRIPTION PIC X(60).
|
||||
|
||||
WORKING-STORAGE SECTION.
|
||||
01 TR-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.
|
||||
0000-PROGRAM-ENTRY.
|
||||
PERFORM A000-INITIALIZE.
|
||||
|
||||
MOVE 1 TO W-COUNTER.
|
||||
PERFORM C000-PROCESS.
|
||||
DISPLAY "IX21:(" TR-FS "):(00):INDEX FILE READ".
|
||||
DISPLAY "IX22:(" TR-REC-TYPE "):(UR):INDEX FILE READ".
|
||||
|
||||
MOVE 50 TO W-COUNTER.
|
||||
PERFORM C000-PROCESS.
|
||||
DISPLAY "IX23:(" TR-FS "):(00):INDEX FILE READ".
|
||||
DISPLAY "IX24:(" TR-REC-TYPE "):(S1):INDEX FILE READ".
|
||||
|
||||
MOVE 100 TO W-COUNTER.
|
||||
PERFORM C000-PROCESS.
|
||||
DISPLAY "IX23:(" TR-FS "):(00):INDEX FILE READ".
|
||||
DISPLAY "IX24:(" TR-REC-TYPE "):(S2):INDEX FILE READ".
|
||||
|
||||
MOVE 200 TO W-COUNTER.
|
||||
PERFORM C000-PROCESS.
|
||||
DISPLAY "IX23:(" TR-FS "):(00):INDEX FILE READ".
|
||||
DISPLAY "IX24:(" TR-REC-TYPE "):(S3):INDEX FILE READ".
|
||||
|
||||
MOVE 998 TO W-COUNTER.
|
||||
PERFORM C000-PROCESS.
|
||||
DISPLAY "IX23:(" TR-FS "):(00):INDEX FILE READ".
|
||||
DISPLAY "IX24:(" TR-REC-TYPE "):(S4):INDEX FILE READ".
|
||||
|
||||
MOVE 999 TO W-COUNTER.
|
||||
PERFORM C000-PROCESS.
|
||||
DISPLAY "IX23:(" TR-FS "):(23):INDEX FILE READ PAST EOF".
|
||||
|
||||
PERFORM B000-HOUSEKEEPING.
|
||||
|
||||
STOP RUN.
|
||||
|
||||
|
||||
A000-INITIALIZE.
|
||||
OPEN I-O TEST-FILE.
|
||||
DISPLAY "IXO2:(" TR-FS "):(00):INDEX READ OPEN".
|
||||
MOVE "NO" TO W01-SWITCHES.
|
||||
MOVE 1 TO W-COUNTER.
|
||||
|
||||
B000-HOUSEKEEPING.
|
||||
CLOSE TEST-FILE.
|
||||
DISPLAY "IXC2:(" TR-FS "):(00):INDEX READ CLOSE".
|
||||
|
||||
C000-PROCESS.
|
||||
MOVE W-COUNTER TO TR-KEY.
|
||||
|
||||
READ TEST-FILE
|
||||
AT END
|
||||
MOVE "YES" TO W01-SWITCHES.
|
||||
@@ -0,0 +1,95 @@
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. IDXIO03.
|
||||
ENVIRONMENT DIVISION.
|
||||
|
||||
CONFIGURATION SECTION.
|
||||
SPECIAL-NAMES.
|
||||
DECIMAL-POINT IS COMMA.
|
||||
INPUT-OUTPUT SECTION.
|
||||
FILE-CONTROL.
|
||||
SELECT TEST-FILE
|
||||
ASSIGN TO "./idx_test.dat"
|
||||
ORGANIZATION IS INDEXED
|
||||
ACCESS MODE IS SEQUENTIAL
|
||||
RECORD KEY IS TR-KEY
|
||||
FILE STATUS IS TR-FS.
|
||||
|
||||
DATA DIVISION.
|
||||
FILE SECTION.
|
||||
FD TEST-FILE
|
||||
LABEL RECORDS ARE STANDARD.
|
||||
01 TEST-REC.
|
||||
05 TR-GKEY.
|
||||
10 TR-KEY PIC 9(03).
|
||||
05 TR-REC-TYPE PIC X(02).
|
||||
05 TR-DESCRIPTION PIC X(60).
|
||||
|
||||
WORKING-STORAGE SECTION.
|
||||
01 TR-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.
|
||||
0000-PROGRAM-ENTRY.
|
||||
PERFORM A000-INITIALIZE.
|
||||
|
||||
0000-LOOP.
|
||||
PERFORM C000-PROCESS THRU C000-EXIT .
|
||||
IF W01-SWITCHES = "NO"
|
||||
GO TO 0000-LOOP.
|
||||
|
||||
PERFORM B000-HOUSEKEEPING.
|
||||
|
||||
STOP RUN.
|
||||
|
||||
|
||||
A000-INITIALIZE.
|
||||
OPEN INPUT TEST-FILE.
|
||||
MOVE LOW-VALUES TO TR-GKEY.
|
||||
DISPLAY "ISO2:(" TR-FS "):(00):S/INDEX READ OPEN".
|
||||
MOVE "NO" TO W01-SWITCHES.
|
||||
MOVE 0 TO W-COUNTER.
|
||||
|
||||
B000-HOUSEKEEPING.
|
||||
CLOSE TEST-FILE.
|
||||
DISPLAY "ISC2:(" TR-FS "):(00):S/INDEX READ CLOSE".
|
||||
|
||||
C000-PROCESS.
|
||||
* ADD 1 TO W-COUNTER.
|
||||
* MOVE W-COUNTER TO TR-KEY.
|
||||
|
||||
READ TEST-FILE NEXT.
|
||||
|
||||
IF TR-FS NOT = 0
|
||||
MOVE "YES" TO W01-SWITCHES
|
||||
GO TO C000-EXIT.
|
||||
|
||||
IF TR-KEY = 1
|
||||
DISPLAY "IS21:(" TR-FS "):(00):S/INDEX FILE READ"
|
||||
DISPLAY "IS22:(" TR-REC-TYPE "):(UR):S/INDEX FILE READ".
|
||||
|
||||
IF TR-KEY = 50
|
||||
DISPLAY "IS23:(" TR-FS "):(00):S/INDEX FILE READ"
|
||||
DISPLAY "IS24:(" TR-REC-TYPE "):(S1):S/INDEX FILE READ".
|
||||
|
||||
IF TR-KEY = 75
|
||||
DISPLAY "IS21:(" TR-FS "):(00):S/INDEX FILE READ"
|
||||
DISPLAY "IS22:(" TR-REC-TYPE "):(UR):S/INDEX FILE READ".
|
||||
|
||||
IF TR-KEY = 100
|
||||
DISPLAY "IS23:(" TR-FS "):(00):S/INDEX FILE READ"
|
||||
DISPLAY "IS24:(" TR-REC-TYPE "):(S2):S/INDEX FILE READ".
|
||||
|
||||
IF TR-KEY = 200
|
||||
DISPLAY "IS23:(" TR-FS "):(00):S/INDEX FILE READ"
|
||||
DISPLAY "IS24:(" TR-REC-TYPE "):(S3):S/INDEX FILE READ".
|
||||
|
||||
IF TR-KEY = 998
|
||||
DISPLAY "IS23:(" TR-FS "):(00):S/INDEX FILE READ"
|
||||
DISPLAY "IS24:(" TR-REC-TYPE "):(S4):S/INDEX FILE READ".
|
||||
|
||||
C000-EXIT.
|
||||
EXIT.
|
||||
@@ -0,0 +1,3 @@
|
||||
idxio01:S:Indexed file create/write::
|
||||
idxio02:S:Indexed file read::
|
||||
idxio03:S:Seq/Indexed file read::
|
||||
Reference in New Issue
Block a user