Creates a direct access Indexed file from a Sequential file.
Sample data: SEQVIDEO.dat (first 5 of 29 records)
00121FLIGHT OF THE CONDOR, THE 03 00333PREDATOR 02 00444LIVING EARTH, THE 03 01001COMMANDO 02 01100ROBOCOP 01
>>SOURCE FORMAT IS FREE
IDENTIFICATION DIVISION.
PROGRAM-ID. Seq2Index.
AUTHOR. Michael Coughlan.
*> Creates an indexed file from a sequential file.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT VideoFile ASSIGN TO "IDXVIDEO.dat"
ORGANIZATION IS INDEXED
ACCESS MODE IS RANDOM
RECORD KEY IS VideoCode
ALTERNATE RECORD KEY IS VideoTitle
WITH DUPLICATES
FILE STATUS IS VideoStatus.
SELECT SeqVideoFile ASSIGN TO "SEQVIDEO.dat"
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD VideoFile.
01 VideoRecord.
02 VideoCode PIC 9(5).
02 VideoTitle PIC X(40).
02 VideoSupplierCode PIC 99.
FD SeqVideoFile.
01 SeqVideoRecord.
88 EndOfFile VALUE HIGH-VALUES.
02 SeqVideoCode PIC 9(5).
02 SeqVideoTitle PIC X(40).
02 SeqVideoSupplierCode PIC 99.
WORKING-STORAGE SECTION.
01 VideoStatus PIC X(2).
PROCEDURE DIVISION.
Begin.
OPEN INPUT SeqVideoFile.
OPEN OUTPUT VideoFile.
READ SeqVideoFile
AT END SET EndOfFile TO TRUE
END-READ.
PERFORM UNTIL EndOfFile
WRITE VideoRecord FROM SeqVideoRecord
INVALID KEY DISPLAY "VIDEO STATUS :- ", VideoStatus
END-WRITE
READ SeqVideoFile
AT END SET EndOfFile TO TRUE
END-READ
END-PERFORM.
CLOSE VideoFile, SeqVideoFile.
STOP RUN.