oracle form set_block_property,ORACLEERP开发基础之OracleForms基础(二)
用代碼控制ITEM屬性
1、用代碼控制ITEM的可用性。
1.1、SET_ITEM_PROPERTY和SET_ITEM_INSTANCE_PROPERTY:
如果是控制單行記錄或者多行記錄中的全部記錄:SET_ITEM_PROPERTY
如果是控制多行記錄中的單一行記錄:SET_ITEM_INSTANCE_PROPERTY
1.2、理解它們的最好區別就是親自動手寫一例子。
例: ①控制數據塊T_TEST(多條記錄)的ITEM的某一條記錄是否可更改。
SET_ITEM_INSTANCE_PROPERTY(?T_TEST.TID‘, CURRENT_RECORD,UPDATE_ALLOWED,PROPERTY_FALSE);
SET_ITEM_INSTANCE_PROPERTY('T_TEST.TID', CURRENT_RECORD,INSERT_ALLOWED,PROPERTY_FALSE);
Effect:
③ 控制數據塊T_TEST(多條記錄)的單個ITEM的全部記錄是否可更改。
Effect:
③控制數據塊某個ITEM只允許insert,不允許delete.
在when-new-form-instance中加入
--先將數據塊設為不可刪除
set_block_property('T_TEST ',delete_allowed,property_false);
--然后對ITEM設為不可update set_item_property(' T_TEST .TID',
update_allowed,property_false);
2、用代碼控制ITEM的可見性
SET_ITEM_PROPERTY('CONTROL.ITEM1', ENABLED, PROPERTY_FALSE);
在when-new-record-instance控制BLOCK的可用狀態
這個觸發器很好用,例如:可以根據主塊的某個項的值,來控制子塊是否可操作。
Begin
If :blockname.test = ?Y‘ then
set_block_property('blockname',DELETE_ALLOWED,PROPERTY_FALSE);
set_block_property('blockname',INSERT_ALLOWED,PROPERTY_FALSE);
set_block_property('blockname',UPDATE_ALLOWED,PROPERTY_FALSE);
end if;
end;
總結
以上是生活随笔為你收集整理的oracle form set_block_property,ORACLEERP开发基础之OracleForms基础(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Autoware1.15 + OpenP
- 下一篇: 做自己的大树