Example 6–26 Creating and Populating an Indexed File
IDENTIFICATION DIVISION.
PROGRAM-ID. INDEX02.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT INPUT-FILE ASSIGN TO "DAIRYI".
SELECT FLAVORS
ASSIGN TO "DAIRY"
ORGANIZATION IS INDEXED
ACCESS MODE IS SEQUENTIAL
RECORD KEY IS ICE-CREAM-MASTER-KEY
ALTERNATE RECORD KEY IS ICE-CREAM-STORE-STATE
ALTERNATE RECORD KEY IS ICE-CREAM-STORE-CODE.
DATA DIVISION.
FILE SECTION.
FD INPUT-FILE.
01 INPUT-RECORD.
02 INPUT-RECORD-KEY
02 INPUT-RECORD-DATA
FD FLAVORS.
01 ICE-CREAM-MASTER.
02 ICE-CREAM-MASTER-KEY
02 ICE-CREAM-MASTER-DATA.
03 ICE-CREAM-STORE-CODE
03 ICE-CREAM-STORE-ADDRESS
03 ICE-CREAM-STORE-CITY
03 ICE-CREAM-STORE-STATE
WORKING-STORAGE SECTION.
01 END-OF-FILE
PROCEDURE DIVISION.
A000-BEGIN.
OPEN INPUT INPUT-FILE.
OPEN OUTPUT FLAVORS.
A010-POPULATE.
PERFORM A100-READ-INPUT UNTIL END-OF-FILE = "Y".
A020-EOJ.
DISPLAY "END OF JOB".
STOP RUN.
A100-READ-INPUT.
READ INPUT-FILE INTO ICE-CREAM-MASTER
AT END MOVE "Y" TO END-OF-FILE.
IF END-OF-FILE NOT = "Y"
WRITE ICE-CREAM-MASTER INVALID KEY DISPLAY "BAD WRITE"
The program can add records to the file until it reaches the physical limitations
of its storage device. When this occurs, you should follow these steps:
1. Delete unnecessary records.
2. Back up the file.
3. Recreate the file either by using the OpenVMS Alpha CONVERT Utility to
optimize file space, or by using a Compaq COBOL program.
Statements for Indexed File Processing
Processing an indexed file involves the following:
1. Opening the file
2. Processing the file with valid I/O statements
3. Closing the file
Processing Files and Records
6.3 Creating and Processing Files
WITH DUPLICATES
PIC 9999.
PIC X(47).
PIC XXXX.
PIC XXXXX.
PIC X(20).
PIC X(20).
PIC XX.
PIC X.
STOP RUN.
Processing Files and Records 6–33
Need help?
Do you have a question about the COBOL AAQ2G1FTK and is the answer not in the manual?
Questions and answers