Salesforce

How to check how long a user has held a lock

« Go Back

Information

 
TitleHow to check how long a user has held a lock
URL NameHow-to-check-how-long-a-user-has-held-a-lock
Article Number000184068
EnvironmentProduct: OpenEdge
Version: 11.4, 11.5, 11.6, 11.7, 12
OS: All supported platforms
Other: VST _lock
Question/Problem Description
How to find how long a user has been holding a record lock?
How to monitor record lock duration with VST's?

 
Steps to Reproduce
Clarifying Information
Error Message
Defect Number
Enhancement Number
Cause
Resolution
The following code example will display how long a user with an open transaction has been holding a record lock:
  •  _lock-transid was added in OpenEdge 11.4
  • further examples are provided in the Notes below
 
DEFINE TEMP-TABLE lockduration NO-UNDO
    FIELD usrnum AS INT 
    FIELD transid AS INT64 
    FIELD lock-recid AS INT64 
    FIELD tablenum AS INT
    FIELD lockduration AS DATETIME
    FIELD timediff AS DECIMAL FORMAT ">>>>>>>>>>9"
    INDEX iLockDur AS PRIMARY usrnum lock-recid tablenum .

PAUSE 0 BEFORE-HIDE.

REPEAT:
    FOR EACH _lock.
        FIND FIRST lockduration WHERE _lock-usr = lockduration.usrnum 
        AND _lock-recid = lockduration.lock-recid
        AND _lock-table = lockduration.tablenum NO-ERROR.
        
    IF AVAILABLE (lockduration) THEN
    timediff = NOW - lockduration.
    ELSE
    DO:
        CREATE lockduration.
        ASSIGN 
        lockduration.usrnum = _lock._lock-usr
        lockduration.transid = _lock._lock-transid
        lockduration.lock-recid = _lock._lock-recid
        lockduration.tablenum = _lock._lock-table
        lockduration.lockduration = NOW.
        END.
    END. 
    FOR EACH lockduration.
    FIND FIRST  _lock WHERE _lock-recid = lockduration.lock-recid
    AND _lock-usr = lockduration.usrnum
    AND _lock-transid = lockduration.transid
    AND _lock-table = lockduration.tablenum NO-ERROR.
    IF NOT AVAILABLE _lock THEN
    DELETE lockduration.
END.


PAUSE 20 BEFORE-HIDE.
PAUSE 4 BEFORE-HIDE.
FOR EACH lockduration.
    DISP lockduration.
END.
END.

 
Workaround
Notes
Keyword Phrase
Last Modified Date12/7/2021 10:40 AM

Powered by