I don't know if this is very elegant, but it matches up the record lock with a user name:
0020 LOOP 0021 LOOP.COUNTER += 1 0022 * DISPLAY LOOP.COUNTER 0023 IF LOOP.COUNTER GT 100 THEN EXIT 0024 TRY.AGAIN = "" 0025 READVU FIELD1 FROM VOC.FILE,"VOCLIB",1 LOCKED 0026 USER.NO.WITH.LOCK = STATUS() 0027 EXECUTE "LIST.READU" CAPTURING LIST.READU.ARRAY 0028 LIST.READU.COUNT = DCOUNT(LIST.READU.ARRAY,@FM) 0029 FOR LIST.READU.CTR = 1 TO LIST.READU.COUNT 0030 USER.NO = FIELD(TRIM(LIST.READU.ARRAY<LIST.READU.CTR>)," ",4) 0031 IF USER.NO.WITH.LOCK = USER.NO THEN 0032 LOGIN.ID = FIELD(TRIM(LIST.READU.ARRAY<LIST.READU.CTR>)," ",8) 0033 ITEM.ID = FIELD(TRIM(LIST.READU.ARRAY<LIST.READU.CTR>)," ",9) 0034 ERROR.DISPLAY = "User ":USER.NO.WITH.LOCK:" ": LOGIN.ID:" has the ITEM.ID of ":ITEM.ID:" locked." 0035 ERROR.DISPLAY.LENGTH = LEN(ERROR.DISPLAY) 0036 DISPLAY STR("-",ERROR.DISPLAY.LENGTH) 0037 DISPLAY "User ":USER.NO.WITH.LOCK:" ":LOGIN.ID:" has the ITEM.ID of ":ITEM.ID:" locked." 0038 DISPLAY STR("-",ERROR.DISPLAY.LENGTH) 0039 DISPLAY LIST.READU.ARRAY<2> 0040 DISPLAY LIST.READU.ARRAY<3> 0041 DISPLAY LIST.READU.ARRAY<LIST.READU.CTR> 0042 END 0043 NEXT LIST.READU.CTR 0044 DISPLAY 0045 DISPLAY "Would you like to try again? ": 0046 INPUT TRY.AGAIN 0047 TRY.AGAIN = UPCASE(TRIM(TRY.AGAIN)[1,1]) 0048 IF TRY.AGAIN NE "Y" THEN GO END.PROGRAM 0049 END THEN 0050 IF USER.NO.WITH.LOCK NE '' THEN 0051 DISPLAY "Lock released." 0052 END ELSE 0053 DISPLAY "To test this, ED VOC VOCLIB in another session." 0054 END 0055 EXIT 0056 END 0057 REPEAT ------- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/