Category >
COBOL
|| Published on :
Friday, May 8, 2015 || Views:
2639
||
Indexed files READ..KEY IS COBOL Program COBOL Example
$ SET SOURCEFORMAT "FREE"
IDENTIFICATION DIVISION.
PROGRAM-ID. DirectReadIdx.
AUTHOR. Michael Coughlan.
* Demonstrates how to read an Indexed file directly on
* any of its keys.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT VideoFile ASSIGN TO "IDXVIDEO.DAT"
ORGANIZATION IS INDEXED
ACCESS MODE IS DYNAMIC
RECORD KEY IS VideoCode
ALTERNATE RECORD KEY IS VideoTitle
WITH DUPLICATES
FILE STATUS IS VideoStatus.
DATA DIVISION.
FILE SECTION.
FD VideoFile.
01 VideoRecord.
02 VideoCode PIC 9(5).
02 VideoTitle PIC X(40).
02 SupplierCode PIC 99.
WORKING-STORAGE SECTION.
01 VideoStatus PIC X(2).
88 RecordFound VALUE "00".
01 RequiredKey PIC 9.
88 VideoCodeKey VALUE 1.
88 VideoTitleKey VALUE 2.
01 PrnVideoRecord.
02 PrnVideoCode PIC 9(5).
02 PrnVideoTitle PIC BBBBX(40).
02 PrnSupplierCode PIC BBBB99.
PROCEDURE DIVISION.
Begin.
OPEN INPUT VideoFile.
DISPLAY "Chose key VideoCode = 1, VideoTitle = 2 -> "
WITH NO ADVANCING.
ACCEPT RequiredKey.
IF VideoCodeKey
DISPLAY "Enter Video Code (5 digits) -> " WITH NO ADVANCING
ACCEPT VideoCode
READ VideoFile
KEY IS VideoCode
INVALID KEY DISPLAY "VIDEO STATUS :- ", VideoStatus
END-READ
END-IF
IF VideoTitleKey
DISPLAY "Enter Video Title (40 chars) -> " WITH NO ADVANCING
ACCEPT VideoTitle
READ VideoFile
KEY IS VideoTitle
INVALID KEY DISPLAY "VIDEO STATUS :- ", VideoStatus
END-READ
END-IF
IF RecordFound
MOVE VideoCode TO PrnVideoCode
MOVE VideoTitle TO PrnVideoTitle
MOVE SupplierCode TO PrnSupplierCode
DISPLAY PrnVideoRecord
END-IF.
CLOSE VideoFile.
STOP RUN.