18.4.8.4.4 逸失更新保護

BOSS RESTデータ・ソースの逸失更新保護について学習します。

エンド・ユーザーがBOSS RESTデータ・ソースからのデータを1行以上変更すると、APEXによって逸失更新保護が適用されます。ユーザーが対話グリッド・リージョンに新しい行を4つ挿入し、3つの行を変更し、2つの行を削除した場合、「保存」をクリックすると、APEXエンジンにより、BOSS RESTエンドポイントから各行をそのリソース・キーの使用によって取得することで、更新および削除されたそれら5つの行に対して逸失更新保護のチェックが実行されます。BOSS RESTデータ・ソースにETagがある場合は、逸失更新検出チェックをより効率的にするために、APEX$ETAG列を行バージョン列として使用できます。このためには、フォームまたはグリッドに対する「失われた更新タイプ」「行バージョン列」に構成し、行バージョン列名としてAPEX$ETAGを構成します。

ノート:

タイプhistoryType='versionNumber'の属性があるBOSSオブジェクトを操作する場合は、フォーム・リージョンやグリッド・リージョンで使用される列のリスト、またはAPEX_EXECパッケージによりプログラムで使用される列のリストに、ETag列(デフォルトではAPEX$ETAGという名前)を必ず含める必要があります。さらに、プログラムで操作するようにその列を定義するときに、p_is_checksum => trueパラメータからapex_exec.add_column()までを使用して、ETag列をマークすることが重要です。ビジネス・オブジェクトにhistoryType='versionNumber'タイプの属性がない場合は、そのオブジェクトにETagは含まれません。その場合は、データ・プロファイルからAPEX$ETAG列を削除してかまいません。その値は必ずNULLになり、更新や削除の間に使用されないためです。