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