2013-01-21 43 views
1

當我使用When-Validate-Item觸發器時,它只是執行一次,當我想驗證時,如果一個Item不爲null。這是給我的信息,現在出了什麼問題。但現在我能夠離開目前的紀錄。Oracle Forms設置項無效

有什麼辦法可以將項目的狀態設置爲無效,因此觸發器觸發的次數會多一次。我正在使用多記錄規範。

下面是一些代碼,說明我在想什麼:

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; 

回答

2

在你when-validate-item觸發,如果觸發器代碼執行成功沒有引發異常,甲骨文形式將項目標記爲有效,並允許用戶繼續。

要停止此行爲,您的觸發器應該引發FORM_TRIGGER_FAILURE異常(例如,在顯示錯誤消息之後)。