問題說明:
客製Form時,常常並不是一個Block裡面的Item都是Database Item,有些Item 我們是Non-DB column.
但對於這些Non-DB column 我們常常都要秀在Form Canvas上,讓User可以選擇他看得懂的值。
在設計上,Execute_qury 後我們會把這個Non-DB Value帶出(因為他不是Block DB column),
所以原則上Form是不會自動帶出的,我們必須自己code it.
而作法呢,很簡單,寫在Post-query trigger上。
然在Query all data in UI 是ok,但關閉Form時(沒有做任何變更),竟會出現”Do you want to save the changes you have made”的字樣,
該怎麼讓它不要出現呢?
下面就是..我的註記---
In Oracle Forms, you attach a List of Values (LOV) to a non-base table
text item (a control item). The LOV returns a value into a base table
item. When you close your form,
it will prompt "Do you want to save the changes you have made? " even no change in here.
<Solution>
Add a statement below on your post-query trigger.
SET_RECORD_PROPERTY(TO_NUMBER(NAME_IN('SYSTEM.TRIGGER_RECORD')),'blockname', STATUS, QUERY_STATUS);
<Example> (on Post-Query Trigger)
begin
SELECT segment1
into :main.inventory_item
FROM mtl_system_items_b
WHERE organization_id = 100
and inventory_item_id=:main.inventory_item_id;
-- Tinalee -- Avoid "Save any change " Window Message
SET_RECORD_PROPERTY(TO_NUMBER(NAME_IN('SYSTEM.TRIGGER_RECORD')),'MAIN', STATUS, QUERY_STATUS);
exception
when no_data_found then
null;
end ;
全站熱搜
留言列表