E@DBFINDNXTRNG

Name

The E@DBFINDNXTRNG call has the following format:

DN@<Logical>(E@DBFINDNXTRNG)

where <Logical> identifies the database file and index to use to perform the E@DBFINDNXTRNG call.

Description

When you need to process a range of data without interruption, use E@DBFINDNXTRNG.

Using the API in a Program

You must precede E@DBFINDNXTRNG with E@DBFINDBEGRNG, E@DBFINDSUBRNG, E@DBFINDMIDRNG, or E@DBFINDMIDSUB.

Input Values

Field Description
<Logical> <Logical> in the E@ statement identifies the database file and index to use to perform the call.

Return Values

Field Description
D<prefix>@NOTFOUND

Each routine sets the logical value <FileName>-NOTFOUND or <FileName>-FOUND based on the outcome of the read process.

The Find routines set D<prefix>@NOTFOUND to FALSE if a record is found, TRUE if a record is not found, or E@KEY@FOUND if the keys are found.

Programming Example

Comparing this example to the example that uses E@DBFINDBEGRNG (E@DBFINDBEGRNG and E@DBFINDNXT (E@DBFINDNXT) shows two major usage differences:

  • You do not need to fill the extra Index key fields with blanks. Instead, the E@DBBEGRNG variable identifies the last key field to be used as a delimiter. This restricts the routine to return only those records that have values matching those specified for the key fields.

  • You no longer need to use the extra OR checks of the D@ fields in the DOW clause. The interface performs the checks.

     EVAL      D@CMPNY        = F1@TCMPNY
     EVAL      D@ACCUNT       = DGLMACCUNT               
     EVAL      D@SBACCN       = DGLMSBACCN
     EVAL      E@DBBEGRNG     = 3
     CALLP     DN@DBIFGLM1(E@DBFINDBEGRNG)
     DOW       DGLM@NOTFOUND  = FALSE                 
     CALLP     S1@L422                         Process Detail
     CALLP     DN@DBIFGLM1(E@DBFINDNXTRNG)