Lock コマンドおよび $Test
ObjectScript で、$Test システム変数は、タイムアウトと共に使用される際、システムが Lock などの特定のコマンドを実行する場合に設定されます。この変数の値は 0 (False)、もしくは 1 (True) で、
Lock でタイムアウト (秒単位) を指定して、ロックの解除を永久に待つことがないようにします。割り当てられた時間内に Lock が正常に実行されなかった場合、システムは $Test 変数に 0 を設定します。次に $Test の値を確認できます。これを試すために、レコードをロックします。
ターミナル
USER>lock +^PersonD(1)
USER>
別のターミナルで、同じレコードを 5 秒間ロックしてみます。
ターミナル
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>