830-DELETESUBRNG-<Index>

Name

830-DELETESUBRNG-<Index>

Description

830-DELETESUBRNG-<Index> deletes all records in a subrange.

You specify the range similarly to the 830-DELETERNG-<Index> call, but with the addition of another DB- field named DBRNG-<IndexFieldName>, which is used to specify the end value of the last field in the subrange.

Using the API in a Program

You must populate the delimiting DB fields and WS-DB-SUB-RNG before using 830-DELETESUBRNG-<Index> .

When this routine deletes a subrange of database records, it also deletes all index entries associated with that subrange of records.

Note: In recoverable database environments, 830-DELETESUBRNG-<Index> cannot span more than one transaction state. Deleting a very large subrange of records in a single block creates a very large journal, or transaction, that may exceed a limit. If a subrange does not realistically fit in a single transaction, you must use a modify/delete loop, with specific attention paid to controlling the size of the logical transactions.

Input Values

Field Description

<Index>

You must specify the database index name that you want to create a record in.
Record retrieval variables (also known as DB fields)

You must populate the index key fields used to locate the record before using this call.

Fill in only the DB fields that define the appropriate range; leave empty those DB fields that do not define the range.

DBSRNG-<KeyFieldName>

DBRNG-<KeyFieldName>

Define the beginning and ending values of the last key by moving the appropriate values to the record retrieval fields named DBSRNG-<KeyFieldName> (starting value) and DBRNG-<KeyFieldName> (ending value). This defines the range itself.

WS-DB-SUB-RNG

Move the symbolic constant <IndexName>-<IndexFieldName> to the field WS-DB-SUB-RNG in order to tell the interface which key is the last significant one defining the range. The symbolic constant is numerically equivalent to the position of the named field in the Index.