Previous Next

FIND-BY-ROWID( ) method
Locates the record with the rowid you specify, then moves the record into the buffer.
Return type:
Applies to:
 
Syntax 
FIND-BY-ROWID ( rowid 
[ ,
{ SHARE-LOCK | EXCLUSIVE-LOCK | NO-LOCK }
[ , NO-WAIT ]
] )
rowid
An expression of type ROWID that represents the rowid of the desired record.
SHARE-LOCK | EXCLUSIVE-LOCK | NO-LOCK
The type of lock that the AVM places on the record, if found. The default is SHARE-LOCK.
Note:
For more information on record locks, see OpenEdge Getting Started: ABL Essentials.
NO-WAIT
Causes FIND-BY-ROWID to return FALSE immediately if another user has a lock on the desired record and FIND-BY-ROWID specifies a locking option other than NO-LOCK.
Note:
The FIND-BY-ROWID method returns TRUE if it finds the record, and FALSE if it does not.
The following is an example:
 
DEFINE VARIABLE bh AS HANDLE NO-UNDO.
DEFINE VARIABLE r  AS ROWID  NO-UNDO.
 
r = ... /* ROWID from some parameter */
bh = BUFFER CUSTOMER:HANDLE.
bh:FIND-BY-ROWID(r).
Note:
The FIND-BY-ROWID method corresponds to a FIND statement of the form FIND buffer WHERE ROWID ( buffer ) = rowid ..., etc. That is, triggers are honored, and the default lock mode is SHARE-LOCK. One difference, however, is that the FIND-BY-ROWID method does not raise an error if it cannot find the record.

Previous Next
© 2013 Progress Software Corporation and/or its subsidiaries or affiliates.