0
我有一個WHEN-BUTTON-PRESSED
觸發器處理銷售交易,在觸發器內部檢查銷售交易金額。如何在運行時以oracle形式接收用戶輸入?
如果金額大於1000,則需要來自高級的授權碼。
如何在觸發器內仍能收到授權碼?
我試圖調用一個新的畫布來接收授權碼,但WHEN-BUTTON-PRESSED
觸發器繼續執行。
我有一個WHEN-BUTTON-PRESSED
觸發器處理銷售交易,在觸發器內部檢查銷售交易金額。如何在運行時以oracle形式接收用戶輸入?
如果金額大於1000,則需要來自高級的授權碼。
如何在觸發器內仍能收到授權碼?
我試圖調用一個新的畫布來接收授權碼,但WHEN-BUTTON-PRESSED
觸發器繼續執行。
提高form_trigger_failure
取消觸發處理異常。用戶然後再次輸入授權碼和cliks按鈕。
...
if :your_block.amount > 1000 then
message('Enter authorization code');
raise form_trigger_failure;
end if;
-- here continue your transaction
感謝您的回覆,但我想提示用戶在不引發異常的情況下輸入授權碼。在Java中,您可以使用Scanner類來接收來自用戶的輸入。例如System.out.println(「Enter a number:」); int n = reader.nextInt(); – Sabe
請在不使用畫布的情況下查看解決方法:「新畫布不會執行此操作;但是,如果調用另一個窗體(它接受授權代碼),則WBP觸發器將等待,直到您從被調用窗體返回並繼續它的執行。「http://www.orafaq.com/forum/m/657510/#msg_657510 – Sabe
是的,這將工作。您可以開發典型的「對話框」並從其他形式使用它們。意識到事務處理,稱爲form可以有它自己的,但我認爲它對你來說不是問題。 –