E@DBFINDFLTMID

Name

The E@DBFINDFLTMID call has the following format:

DN@<Logical>(E@DBFINDFLTMID)

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

Description

When you need to process a filtered range of data, starting at a given point in the range, use E@DBFINDFLTMID.

Using the API in a Program

The database routines perform an equal condition on all D@ fields that have an assigned value—that is, all columns up to, and including, the field moved to E@DBBEGRNG.

Input Values

Field Description
<Logical> <Logical> in the E@ statement identifies the database file and index to use to perform the call.
Record retrieval variables (also known as D@ and D# fields) Define the beginning and ending values of the last key by moving the appropriate values to the record retrieval fields named D@<KeyFieldName> and D#END#<KeyFieldName>.
E@DBBEGRNG Move a number into E@DBBEGRNG in order to tell the interface which key is the last significant one defining the range. This number is equivalent to the position of the field in the index.
Filter value parameter Set this parameter using a method described in Setting the Filter Parameter Value, and create the filter using the routine described in U@FLTCREATE.

Return Values

Field Description
D<prefix>@NOTFOUND 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

The following example uses E@DBFILTERBEGR and then E@DBFINDFLTMID to reposition.

     EVAL      E@FLTSTRING    = "(ARH-ORIG-AMT > ?)"
     CALLP     U@FLTCREATE 
     EVAL      E@FLTVSIGNED2  = 45
     CALLP     U@FLTSSIGNED2
     IF        F1@FC = 'I'
     EVAL      D@ALTTP        = F1@SVARTY
     EVAL      D@CMPNY        = F1@SVCMPNY
     EVAL      E@DBBEGRNG     = 1
     CALLP     DN@DBARARH6(E@DBFILTERBEGR)
     ELSE      
     IF        F1@FC = '+'
     EVAL      D@ALTTP        = F1@PTARHT
     EVAL      D@CMPNY        = F1@PTARH
     EVAL      D@INVC         = F1@PTARHI
     EVAL      E@DBBEGRNG     = 1
     CALLP     DN@DBARARH6(E@DBFINDFLTMID)