Example: FILE STATUS and INVALID KEY
The following example shows how you can use the file status
code and the INVALID KEY
phrase to determine more
specifically why an input or output statement failed.
Assume that you have a file that contains master customer records and you need to update some of these records with information from a transaction update file. The program reads each transaction record, finds the corresponding record in the master file, and makes the necessary updates. The records in both files contain a field for a customer number, and each record in the master file has a unique customer number.
The FILE-CONTROL
entry for
the master file of customer records includes statements that define
indexed organization, random access, MASTER-CUSTOMER-NUMBER
as
the prime record key, and CUSTOMER-FILE-STATUS
as
the file status key.
.
. (read the update transaction record)
.
MOVE "TRUE" TO TRANSACTION-MATCH
MOVE UPDATE-CUSTOMER-NUMBER TO MASTER-CUSTOMER-NUMBER
READ MASTER-CUSTOMER-FILE INTO WS-CUSTOMER-RECORD
INVALID KEY
DISPLAY "MASTER CUSTOMER RECORD NOT FOUND"
DISPLAY "FILE STATUS CODE IS: " CUSTOMER-FILE-STATUS
MOVE "FALSE" TO TRANSACTION-MATCH
END-READ