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

Chapter 6 277
Host Language Access
COBOL II
SET NOT-DONE TO TRUE
MOVE 3 TO DB-MODE
MOVE "
@
;" TO LIST
MOVE "CUSTOMER;" TO CUSTOMER-MASTER
CALL "DBLOCK" USING DBNAME, CUSTOMER-MASTER, DB-MODE, STATUS1
IF CONDITION NOT = 0 THEN
PERFORM 1100-GET-ERROR-AND-EXPLAIN
END-IF
MOVE 2 TO DB-MODE
MOVE "ACCOUNT,LAST-NAME,FIRST-NAME,INITIAL;" TO LIST
PERFORM WITH TEST AFTER UNTIL DONE
CALL "DBGET" USING DBNAME, CUSTOMER-MASTER, DB-MODE,
STATUS1, LIST, CUSTOMER-BUFFER,
NOT-USED-PARM-32
IF CONDITION NOT = 0 THEN
IF CONDITION = END-OF-DATA-SET THEN
SET DONE TO TRUE
DISPLAY SPACE
DISPLAY "*End of Data Set"
DISPLAY "* Press Enter to Continue ------->"
NO ADVANCING
ACCEPT OPTION FREE
ELSE
PERFORM 1100-GET-ERROR-AND-EXPLAIN
END-IF
ELSE
MOVE ACCOUNT-NUMBER OF CUSTOMER-BUFFER TO
ACCOUNT-NUMBER-CUST-OUT
MOVE FIRST-NAME OF CUSTOMER-BUFFER TO
FIRST-NAME-CUST-OUT
MOVE INITIAL1 OF CUSTOMER-BUFFER TO
INITIAL1-CUST-OUT
MOVE LAST-NAME OF CUSTOMER-BUFFER TO
LAST-NAME-CUST-OUT
DISPLAY CUSTOMER-BUFFER-OUT
END-IF
END-PERFORM
MOVE 1 TO DB-MODE
CALL "DBUNLOCK" USING DBNAME, CUSTOMER-MASTER, DB-MODE,
STATUS1
IF CONDITION NOT = 0 THEN
PERFORM 1100-GET-ERROR-AND-EXPLAIN
END-IF.
Adding an Entry
This paragraph implements the ADD-A-PRODUCT routine of the sample program to add a
data entry to the Product manual master data set. The add entry operation is achieved
using a call to DBPUT. Before this call, the paragraph initiates a TurboIMAGE/XL
transaction and locks the product master data set. The beginning and end of the
transaction are indicated by calls to DBBEGIN and DBEND. Locking is done exclusively at the
set level. For error trapping, 1100-GET-ERROR-AND-EXPLAIN is called when any status
code is not equal to zero.
Note that the list contains an at-sign (@) which requests TurboIMAGE/XL to return all
fields of the data set in the order defined in the schema. Other valid lists are the null list