Sap-abap-lock-objects
提供:Dev Guides
SAP ABAP-オブジェクトのロック
ロックオブジェクトは、複数のプログラムによる同じデータへのアクセスを同期するために使用されるABAPディクショナリによって提供される機能です。 データレコードには、特定のプログラムを使用してアクセスします。 ロックオブジェクトは、データがデータベースに挿入または変更されたときの不整合を回避するためにSAPで使用されます。 データレコードをロックするテーブルは、キーオブジェクトとともにロックオブジェクトで定義する必要があります。
ロック機構
以下は、ロック機構で達成される2つの主な機能です-
- プログラムは、読み取りまたは変更中のデータレコードについて他のプログラムと通信できます。
- プログラムは、別のプログラムによって変更されたばかりのデータを読み取らないようにすることができます。
- ロック要求*は最初にプログラムによって生成されます。 次に、この要求はエンキューサーバーに送られ、ロックテーブルにロックが作成されます。 エンキューサーバーがロックを設定すると、プログラムは最終的にデータにアクセスする準備が整います。
ロックオブジェクトの作成
- ステップ1 *-トランザクションSE11に進みます。 次の画面が開きます。
- ステップ2 *-[オブジェクトのロック]ラジオボタンをクリックします。 Eで始まるロックオブジェクトの名前を入力し、[作成]ボタンをクリックします。 ここでは、EZLOCK12を使用します。
- ステップ3 *-簡単な説明フィールドに入力し、[テーブル]タブをクリックします。
- ステップ4 *-[名前]フィールドにテーブル名を入力し、ロックモードを[書き込みロック]として選択します。
- ステップ5 *-[パラメーターのロック]タブをクリックすると、次の画面が表示されます。
- ステップ6 *-保存してアクティブにします。 自動的に2つの汎用モジュールが生成されます。 汎用モジュールを確認するには、[ジャンプ]→[モジュールのロック]を使用できます。
- ステップ7 *-[モジュールのロック]をクリックすると、次の画面が開きます。
ロックオブジェクトが正常に作成されました。
ロックオブジェクトに含まれるテーブルのキー項目はロック引数と呼ばれ、汎用モジュールの入力パラメータとして使用されます。 これらの引数は、ロックオブジェクト定義によって生成されたロックを設定および削除するために使用されます。