2

When-Validate-Itemトリガーを使用すると、アイテムがnullでない場合に、検証するときに1回だけ実行されます。それは私にメッセージを与えています、何かが今うまくいかなかったということです。しかし今、私は現在の記録を残すことができます。

アイテムのステータスを無効に設定して、トリガーが複数回起動するようにする方法はありますか?マルチレコード仕様を使用しています。

これが私が考えていることを説明するいくつかのコードです:

if :system.trigger_item = 'BLOCK.ITEM' then
   if :BLOCK.ITEM is null then
      -- set the item invalid again, becuase it won´t validate the item again, when 
      -- there wont appear any change to this item
      null;
   else
      -- the item is valid, do whatever
      null;
   end if;
end if;
4

1 に答える 1

3

トリガーで、when-validate-item例外を発生させずにトリガー・コードが正常に実行された場合、Oracle Formsはその項目を有効としてマークし、ユーザーが続行できるようにします。

この動作を停止するには、トリガーでFORM_TRIGGER_FAILURE例外を発生させる必要があります(たとえば、エラーメッセージを表示した後)。

于 2013-01-23T08:06:35.563 に答える