DEF VAR i AS INT. DEF VAR key-press AS LOGICAL. DEF TEMP-TABLE tt_lock LIKE _lock. DEF FRAME z ap-purpose.c-purpose ap-purpose.t-desc WITH 1 COL. FIND FIRST ap-purpose EXCLUSIVE-LOCK NO-ERROR. UPDATE ap-purpose.c-purpose ap-purpose.t-desc WITH FRAME z EDITING: IF NOT key-press THEN DO: RUN test-lock. ASSIGN i = ETIME(TRUE) key-press = TRUE. END. READKEY PAUSE 1. HIDE MESSAGE NO-PAUSE. MESSAGE LASTKEY "Timer running" ETIME. /* IF ETIME > 10000 THEN LEAVE. */ APPLY LASTKEY. IF LASTKEY <> -1 THEN i = ETIME(TRUE). END. DISP "end of program" ETIME. PROCEDURE test-lock: FOR EACH _lock NO-LOCK: IF _lock._lock-usr <> ? THEN DO: FIND _file WHERE _file._file-number = _lock._lock-table NO-LOCK NO-ERROR. IF AVAIL _file AND _lock._lock-name = USERID THEN DO: CREATE tt_lock. BUFFER-COPY _lock TO tt_lock. FIND FIRST _trans WHERE _trans._trans-usrnum = tt_lock._lock-usr NO-LOCK NO-ERROR. MESSAGE _file._file-name _file._file-number SKIP tt_lock._lock-name tt_lock._lock-usr tt_lock._lock-type SKIP "Locked:" _trans._trans-txtime VIEW-AS ALERT-BOX. END. END. ELSE LEAVE. END. END PROCEDURE.