TurboIMAGE/XL Database Management System Reference Manual MPE/iX V6.5 (30391-90011)

Chapter 6 273
Host Language Access
COBOL II
NOT-USED-PARM-16
IF CONDITION NOT = 0 THEN
IF CONDITION = END-OF-CHAIN THEN
DISPLAY SPACE
DISPLAY SPACE
DISPLAY SPACE
DISPLAY "-----> End of Chain, " NO ADVANCING
DISPLAY "Hit Enter to Continue" NO ADVANCING
ACCEPT OPTION FREE
ELSE
PERFORM 1100-GET-ERROR-AND-EXPLAIN
END-IF
END-IF
MOVE ACCOUNT-NUMBER OF SALES-BUFFER
TO ACCOUNT-NUMBER-OUT
MOVE STOCK-NUMBER OF SALES-BUFFER
TO STOCK-NUMBER-OUT
MOVE QUANTITY OF SALES-BUFFER TO QUANTITY-OUT
MOVE PRICE OF SALES-BUFFER TO PRICE-OUT
MOVE TAX OF SALES-BUFFER TO TAX-OUT
MOVE TOTAL OF SALES-BUFFER TO TOTAL-OUT
MOVE PURCH-DATE OF SALES-BUFFER TO PURCH-DATE-OUT
MOVE DELIV-DATE OF SALES-BUFFER TO DELIV-DATE-OUT
DISPLAY SALES-BUFFER-OUT
END-PERFORM
END-IF
MOVE 1 TO DB-MODE
CALL "DBUNLOCK" USING DBNAME, SALES-DETAIL, DB-MODE, STATUS1
IF CONDITION NOT = 0 THEN
PERFORM 1100-GET-ERROR-AND-EXPLAIN
END-IF.
Retrieving a Data Entry Using a Record Number
This paragraph implements the GET-A-CUSTOMER-RECORD routine of the sample program.
The record number for the directed read is obtained by calling DBGET in mode 7. The saved
record number is then used as the argument value for a call to DBGET in mode 4. Status 17
indicates two different conditions for DBGET in modes 4 and 7, as follows:
1. For mode 7, this value means that no entry exists with the specified search value.
2. For mode 4, this value means that the entry at the specified record number is empty.
Note that for increased performance, the calculated access call is made with a list
parameter equal to zero.
******************************************************************
* ACCESS : Mode 1 - Shared Modify Access
*
* Called By: 30-DO-ACTION
*
* Calls : DBGET in mode 7 (calculated read)
* DBGET in mode 4 (directed read)
* 1100-GET-ERROR-AND-EXPLAIN
300-GET-A-CUSTOMER-RECORD.
SET NOT-FOUND TO TRUE
DISPLAY CLEAR SCREEN
DISPLAY "Enter the Account # For The Customer Master"