Compaq COBOL AAQ2G1FTK User Manual

Page 213

Advertising
background image

Processing Files and Records

6.3 Creating and Processing Files

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

WITH DUPLICATES

ALTERNATE RECORD KEY IS ICE-CREAM-STORE-CODE.

DATA DIVISION.
FILE SECTION.
FD

INPUT-FILE.

01

INPUT-RECORD.
02

INPUT-RECORD-KEY

PIC 9999.

02

INPUT-RECORD-DATA

PIC X(47).

FD

FLAVORS.

01

ICE-CREAM-MASTER.
02 ICE-CREAM-MASTER-KEY

PIC XXXX.

02 ICE-CREAM-MASTER-DATA.

03

ICE-CREAM-STORE-CODE

PIC XXXXX.

03

ICE-CREAM-STORE-ADDRESS

PIC X(20).

03

ICE-CREAM-STORE-CITY

PIC X(20).

03

ICE-CREAM-STORE-STATE

PIC XX.

WORKING-STORAGE SECTION.
01

END-OF-FILE

PIC X.

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"

STOP RUN.

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–33

Advertising