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

Chapter 5 223
TurboIMAGE/XL Library Procedures
DBPUT
list
is the name of an array containing an ordered set of data item identifiers;
names or numbers. The new entry contains values supplied in the buffer
array for data items in the
list
array. Search or sort items defined for the
entry must be included in the
list
array. Fields of unreferenced items are
filled with binary zeros.
The
list
array can contain a left-justified set of data item names,
separated by commas and terminated by a semicolon or blank; no
embedded blanks are allowed, and no name can appear more than once.
For example:
ACCOUNT,LAST-NAME,CITY,STATE;
When referencing by number, the first halfword of the
list
array is an
integer
n
that is followed by
n
single positive integers identifying unique
data item numbers. Example: 4 1 10 3 16 lists for the four data item
numbers 1, 10, 3, and 16.
The
list
specifies data items for which values are supplied in the buffer
array, and is saved internally by TurboIMAGE/XL as the current list for
the data set. The current list is unchanged until a different list is specified
in a subsequent call to DBGET, DBPUT, or DBUPDATE for the same access
path and data set.
Some special list constructs are allowed. These are described in Table 5-20.
and illustrated in the programs in chapter 6. List processing is a relatively
high overhead operation which can be shortened in subsequent calls by
using the asterisk construct to specify that the current list is to be used. Be
sure a current list exists before using the asterisk construct, or a null list
is assumed.
buffer
is the name of an array containing data item values to be added. The
values must be in the same order as their data item identifiers in the list
array. The number of halfwords for each value must correspond to the
number required by its type; for example, I2 values must be 2 halfwords
long.
Table 5-20. Special
list
Parameter Constructs
Construct
list
Array Contents Purpose
Empty
0; or 0 or ; or (0 must be ASCII.)
Request no data transfer.
Empty
Numeric
0(
n
, length of data item identifier list,
is zero)
Request no data transfer.
Asterisk
*; or *
Request procedure to use previous
list
and apply it to same data set. This
construct saves TurboIMAGE/XL
processing time, especially if more than
one or two items are involved. If "*" is
used to define the list in the first call to
DBGET and DBPUT, TurboIMAGE/XL
treats it as a zero.