如何讓只輸入 Non-Database Item 資料時, 也可進行存檔

在 Oracle ERP 作業中, 若只輸入 Non-Database Item, 但是此欄位偏偏又要儲存起來, 若沒有下面程式碼, 在存檔時, 系統會告訴你 FRM-40401 : No Changes to save.

這是因為輸入 Non-Database Item 後, 但是此 Record Status 仍是 NEW 的緣故,

所以, 可以在 Non-Database Item 的 When-Validate-Item trigger 中, 更改 Record Status 狀態 :
 程式碼
if get_record_property( :system.trigger_record
, :system.trigger_block
, STATUS
) = 'QUERY'
then
set_record_property( :system.trigger_record
, :system.trigger_block
, STATUS
, CHANGED_STATUS
);
end if;

這樣子, 系統就是知道此 Record 有做過異動然後, 然後繼續在 ON-INSERT / ON-UPDATE / ON-DELETE 各自寫在要將此 Non-Database Item 資料值儲存的語法即可.
Related Posts Plugin for WordPress, Blogger...