Skip to main content

Lock Command and $Test

In ObjectScript, the $Test system variable gets set when the system runs certain commands, such as Lock, when used with a timeout. The value of this variable is either 0 (false) or 1 (true).

You can use a timeout (in seconds) on Lock, so that it doesn't wait forever. If the Lock is unsuccessful in the allotted time, the system sets the $Test variable to 0. You can then check the value of $Test. To try this out, lock a record:

Terminal


USER>lock +^PersonD(1)

USER>

In a different Terminal, try to lock the same record for 5 seconds:

Terminal


USER>lock +^PersonD(1):5

USER>if ('$test) { write "Someone else is editing that record. Try again later." }
Someone else is editing that record. Try again later.
USER>
Feedback