Lock コマンド (1)
ここでは Lock コマンドの機能とその使用法について学習します。ロックをかける場合、システムがロック・テーブルに Lock コマンドの引数を追加します。別のプロセスで同じレコードをロックしようとすると、最初のロックが解除されるまでそのプロセスを待機します。2 つ目のプロセスが異なるレコードを編集し、レコードに Lock をかけると、システムはロック・テーブルにもそのレコードを追加します。管理ポータル ( [システム・エクスプローラ] セクション) を使用して、システム, ロック に移動し、ロック・テーブルを確認します。
通常 Lock コマンドは、新規エントリを追加する前に、ロック・テーブル内ですべてのエントリをクリアします。他のロックをクリアすることなしにロック・テーブルにエントリを追加するには、Lock + を使用します。エントリを削除するには、Lock - を使用します。ターミナル・セッションを使用して、レコードをロックし、その後別のセッションを開始して同じレコードあるいは異なるレコードをロックして、結果をロック・テーブルで参照できます。
SAMPLES>lock ^x(1) ; clear all locks for this process, and add ^x(1)
SAMPLES>lock ; clear all locks for this process
SAMPLES>lock +^x(1) ; add ^x(1) without clearing anything
SAMPLES>lock -^x(1) ; just clear ^x(1)
SAMPLES>
lookup ルーチンの次の段階では、ユーザが個人データを修正できるコードを記述します。つまり、^PersonD グローバルと ^PersonI グローバルを更新します。この場合、ユーザが編集するレコードと特定の ID を選択すると、これをルーチン lock +^PersonD(id) に追加します。新規データが格納された後に lock -^PersonD(id) を使用して、レコードのロックを解除します。