10.3 失われた更新の検出機能の構成

失われた更新の検出機能を構成することにより、フォーム・ユーザーが相互に上書きしないようにします。

失われた更新は、2人以上のユーザーが同じデータを更新しようとしたときに、前のユーザーが行った更新が最後の更新によって上書きされる場合に発生します。このことを防ぐために、更新ではデータベース内の既存の列値と、レコードが最初に問い合されたときに取得された値をチェックできます。

失われた更新の検出機能の構成では、「フォーム・リージョン」属性の「失われた更新タイプ」を構成して、対応する「フォーム - 行の自動処理(DML)」プロセスの「失われた更新の防止」属性を有効にします。

失われた更新の検出機能を有効にするには:

  1. ページの作成ウィザードを使用してフォーム・リージョンを作成します。
  2. フォーム・リージョンを含むページをページ・デザイナで表示します。
  3. 「レンダリング」タブで、フォーム・リージョンを選択します。
  4. プロパティ・エディタで、「属性」タブを選択します。

    プロパティ・エディタに属性が表示されます。属性は、グループに編成されます。グループまたは属性を検索するには、「フィルタ・プロパティ」フィールドにキーワードを入力します。プロパティ・エディタにグループまたは属性が表示されます。または、「グループに移動」をクリックしてグループを選択できます。

    ヒント:

    属性のヘルプを表示するには、プロパティ・エディタで属性を選択し、中央ペインで「ヘルプ」タブをクリックします。
  5. プロパティ・エディタで、「編集」グループを見つけて、「失われた更新タイプ」属性を構成します。オプションは次のとおりです。
    • 行の値: データを最初に問い合せる場合、チェックサム値が計算されます。チェックサムは、すべての更新可能な列を文字列に連結し、一意の値を生成して計算されます。更新されたレコードをコミットすると、このチェックサムがチェックサム値と比較されます。

    • 行バージョン列: データベース表にデータベース・トリガー(可能な場合)によってレコードが更新されるたびに増える列が含まれている場合、チェックサムを計算するかわりにこの列を使用できます。フォームで複数の表のデータを更新する場合、このオプションはお薦めしません。

    次に、対応する「フォーム - 行の自動処理(DML)」プロセスを更新します。
  6. 左ペインで、「プロセス」タブをクリックします。
  7. 次に、対応する「フォーム - 行の自動処理(DML)」プロセスを見つけて選択します。
  8. プロパティ・エディタで、「設定」を見つけます。
  9. 「失われた更新の防止」で、「オン」を選択します。
  10. 変更を保存するには、「保存」をクリックします。ページを保存して実行するには、「ページの保存と実行」をクリックします。