Even if the program ended that locked the item, the lock could still be 
maintained if the file variable was passed.

I know this is after the fact but, one option going forward would be to write a 
wrapper program for READU's and call it "LOCK.RECORD". I use this approach 
extensively.

CALL *LOCK.RECORD( R.RECORD, KEY.TO.RECORD, FILE.VARIABLE )

1. If it is a phantom, perform a READU
2. If it is a real user, use the LOCKED clause 
2a. If it is locked, display whom has it locked followed by an INPUT ( if it is 
SB+, use a DISP ).
2b. If it is not locked, lock it.
* This allows them to see who has them locked and contact the guilty party
3. NEW OPTION : Once locked, you could get the call stack and record to a file 
which program locked it ( excluding this sub - LOCK.RECORD ). Or you could add 
an additional parameter to this sub and pass in the program name. 


We already do 1 and 2, but 3 would be an interesting option. 


We also have a sub called LOCK.RECORD.ESCAPE that gives the user the option to 
escape if the record is locked and it also displays who has them locked. We 
only use this option when it is safe to escape and it sends back "ESCAPED" 1 or 
0 so we can handle the escape properly.





This e-mail and any files transmitted with it are confidential and intended
solely for the use of the individual or company to whom they are addressed. If
you have received this e-mail in error, please notify the sender immediately and
delete this e-mail including all attachments from your system. Thank you
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users

Reply via email to