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 an example of the FIND-CURRENT method:
DEFINE VARIABLE bh AS HANDLE NO-UNDO.
bh = BUFFER Customer:HANDLE.
DO TRANSACTION:
bh:FIND-CURRENT(EXCLUSIVE-LOCK).
END.
MESSAGE bh:CURRENT-CHANGED Customer.CustNum.
If the change in lock status succeeds, the method returns TRUE, otherwise it returns FALSE.
If the lock change fails, a message displays. You can suppress the message using NO-ERROR on the statement containing the method.
Executing the FIND-CURRENT method resets the CURRENT-CHANGED attribute. If the record in the database changes between the time the original record was found and the FIND-CURRENT executes, the CURRENT-CHANGED attribute returns TRUE. If the record does not change, then the CURRENT-CHANGED attribute returns FALSE.