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 main 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 main file, and makes the necessary updates. The records in both files contain a field for a customer number, and each record in the main file has a unique customer number.
The FILE-CONTROL
entry for the main file of customer
records includes statements that define indexed organization, random access, MAIN-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 MAIN-CUSTOMER-NUMBER
READ MAIN-CUSTOMER-FILE INTO WS-CUSTOMER-RECORD
INVALID KEY
DISPLAY "MAIN CUSTOMER RECORD NOT FOUND"
DISPLAY "FILE STATUS CODE IS: " CUSTOMER-FILE-STATUS
MOVE "FALSE" TO TRANSACTION-MATCH
END-READ