To access a record occurrence based on its CALC-key value, perform the following steps:
Example of Retrieving CALC Records
The program excerpt below shows retrieval of CALC records.
The MOVE statement initializes the CALC-key field before the database access is performed. If the DBMS returns an ERROR-STATUS of 0326 (condition DB-REC-NOT-FOUND), the program prints a message and goes on to the next input record.
DATA DIVISION. WORKING-STORAGE SECTION. 01 SWITCHES.
05 EOF-SW PIC X VALUE 'N'. 88 END-OF-FILE VALUE 'Y'. PROCEDURE DIVISION. . . READ EMP-FILE-IN AT END MOVE 'Y' to EOF-SW. IF NOT END-OF-FILE PERFORM A400-GET-EMP-REC THRU A400-EXIT UNTIL END-OF-FILE. FINISH. GOBACK. A400-GET-EMP-REC. *** INITIALIZE CALC KEY *** MOVE EMP-ID-IN TO EMP-ID-0415. *** RETRIEVE RECORD *** OBTAIN CALC EMPLOYEE. *** CHECK FOR ERROR-STATUS = 0326 *** IF DB-REC-NOT-FOUND THEN DISPLAY 'EMPLOYEE ID: ' EMP-ID-IN ' NOT FOUND' *** CHECK FOR ERROR-STATUS = 0000 *** ELSE IF DB-STATUS-OK PERFORM B100-WRITE-EMP-REPORT ELSE PERFORM IDMS-STATUS. READ EMP-FILE-IN AT END MOVE 'Y' to EOF-SW. A400-EXIT. EXIT.
Retrieving Records with Duplicate CALC-keys
Record types may be defined to allow duplicate CALC-keys. To retrieve all records that have the same CALC-key value, retrieve the first by using the FIND/OBTAIN CALC statement shown above and then use the DUPLICATE option of the FIND/OBTAIN CALC statement to retrieve the additional records. An '0326' error status signals when no more records with the same key exist.
Copyright © 2013 CA.
All rights reserved.
|
|