インフリー技術情報発信ブログ

ERP(SAP)導入コンサルティング、ABAP開発、ホームページ制作、WEBシステム構築などを手掛ける、株式会社インフリーです。

排他処理について その2

 予定通り、ロックオブジェクトの汎用モジュールについてです。

 

まずは・・・・

○ロックオブジェクトの登録手順

 1. トランザクション「SE11」を起動する

       1.1 ラジオボタン「ロックオブジェクト」を選択する

       1.2 ロックオブジェクトIDを入力する

              IDは、「EZ******」(****** は14桁の任意の値)がよく利用されます。

       1.3 登録ボタンを押下する

 2. ロックオブジェクト更新画面が起動する

       2.1 内容説明を入力する

       2.2 テーブルタブを選択し、名称にロック対象テーブルIDを入力する

       2.3 ロックモード「E:書込ロック」「X:排他、累積なし」「S:読込ロック」のいずれかを選択する

       2.4 有効化ボタンを押下する

もう少しできることはありますが、基本的にはこれでOK!!

 

ロックオブジェクトを有効化すると自動的に、以下のような汎用モジュール(ロックモジュール)が2つ生成されます。

 

       ロック   :ENQUEUE_EZ******

       ロック解除:DEQUEUE_EZ******

 

生成されたロックモジュールは、ロックオブジェクト更新画面の「メニュー>ジャンプ>ロックモジュール」 で確認できます。

 

ロックモジュールのパラメータは、どちらもほとんど変わらず、大きく3種類に分けられます

1. ロックモードの指定用パラメータ

「E:書込ロック」「X:排他、累積なし」「S:読込ロック」のいずれかを受け渡すことが可能であり、登録時に指定した値がデフォルト値となります

2. ロックキー指定用パラメータ

ロック対象テーブルのプライマリキーがパラメータとして定義されます。初期値をロックキーデータとするかの判定フラグ用パラメータも定義されます

3. ロック制御用パラメータ

他者からロックされていた場合、解除されるのを一定時間待つか、一括ロック(ロック解除)対象とするか 等のフラグがパラメータとして定義されます

実際の開発では、上記1.と3.のパラメータはあまり使いません。2.のパラメータに、ロックするキー値を渡し、ロックモジュール「ENQUEUE_EZ******」でロックをかけ、ロックモジュール「DEQUEUE_EZ******」でロックを解除します。

 

今回は、ここまで。

次回は、、、ちょっとした具体例を交えて、ロックモードとロックキー指定用パラメータについて書きたいと思います。

インフリー技術情報発信ブログ © 2013 Frontier Theme