FIND-LAST( ) method

Gets a single record. This method lets a user get the last record that satisfies the predicate expression.

Return type: LOGICAL

Applies to: Buffer object handle

Syntax

FIND-LAST ( predicate-expression[ , lockmode[ , waitmode]] )
predicate-expression

A character expression that evaluates to the following syntax:

[ WHERE [ logical-expression ]][ USE-INDEX index-name]

Once evaluated, predicate-expression can contain only constants and unabbreviated references to fields from the buffer.

The predicate-expression itself can be built using a concatenation of character expressions.

lockmode

An integer expression evaluating to one of the following constants: SHARE-LOCK, EXCLUSIVE-LOCK, or NO-LOCK. You can assign any of these constants to an integer variable. For example, mylock = NO-LOCK.

The default is SHARE-LOCK.

waitmode
An integer expression evaluating to one of the following: NO-WAIT, 0, or the Unknown value (?). You can assign NO-WAIT to an integer variable. For example, mywait = NO-WAIT. The default is to wait.

The following shows some examples of the FIND-LAST method:

DEFINE VARIABLE bh AS HANDLE NO-UNDO.

bh = BUFFER Customer:HANDLE.

bh:FIND-LAST("WHERE Customer.Balance > 0 use-index name").

bh:FIND-LAST("WHERE Customer.CustNum > 5 AND Customer.Address < 'z'").

If FIND-LAST succeeds, it returns TRUE, otherwise it returns FALSE.

If FIND-LAST fails, it does not raise an error but displays an error message. You can suppress the message using NO-ERROR on the statement containing the method.

See also

FIND-CURRENT( ) method, FIND-FIRST( ) method, FIND-UNIQUE( ) method, FIND statement