Version 2 of this utility provides the ability to view and release record locks from any workstation running the Universal Driver 4.7.2 or 5.0.0.5.  It replaces version 1 of this utility released on May 2, 2017.  The functionality of this utility only applies to locks held by the Universal Driver service.  Local locks, for example temporary files on a local workstation, cannot be managed by this tool. 

This RDK contains an updated LIST_USER_LOCKS window, along with supporting LIST_USER_LOCKS, RTI_LOCK_OWNER, RTI_LOCK_RELEASE and RTI_LH_SESSIONINFO procedures.  This utility has been tested with OpenInsight 9.4 and above and the Universal Driver 4.7.2 and Universal Driver 5.0.0.5.

Locks will display the station, username and process ID of the session which owns them, including terminal server sessions and UD 4.7.2 sessions.

You can release locks from any workstation.

The LIST_USER_LOCKS window has been re-organized for clarity.  Double clicking on a column sorts that column.

RTI_LOCK_OWNER and LIST_USER_LOCKS return lock information to a calling program, so you can write a custom lock display routine.

RTI_LOCK_RELEASE is a new program which will allow you to release locks from your own routine.

RTI_LH_SESSIONINFO is a new program which lists the current UD sessions.

Notes:

If you are using the Universal Driver 5.0.0.5 then the lock owner information is reported from the UD server.  If you are using the Universal Driver 4.7.2 then the lock information is not known by the UD server, so it is calculated by looking for a SYSLOGINS lock in the same session.  OpenInsight, by way of SYSLOGINS_MFS, always places a lock on a SYSLOGINS record.  Arev32/CTO does not set a lock, so by default the locks from Arev32/CTO sessions on a UD 4.7.2 will only display the workstation name.  To work around this, add a statement like:

PERFORM "SELECT SYSLOGINS (S"

to your Arev32 startup procedure.

 UD 4.7.2 - Lock owner derived from SYSLOGINS ID

UD 5.1 - Lock owner known by the Universal Driver, format is station*user*processid

Execute the window LIST_USER_LOCKS.  The window will display a list of locked records.  Each line item will display computer name, volume, table and record keys.  With the Universal Driver 5.0.0.5 the computer name will include the network logon and process ID so that you can determine exactly which session holds the lock on a terminal server.

There is also a timer event on the window, it will refresh approximately every 30 seconds

You can use the LIST_USER_LOCKS window to release locks.  To release a lock, highlight a row in the window and click the Unlock button.  You will receive a message when the lock is released and the window will refresh.  The unlock function operates from regular workstations as well as from the server where the Universal Driver is installed.

Works members can download this utility from the Works Downloads section of the web site.