2014-01-06 Created By BaoXinjian
一、摘要
Oracle EBS二次開發中,由于功能要求複雜的緣故和資料庫設計的要求,基于表的Form開發并不多見,為了能夠更好的利用Form的特性,
需要開發基于視圖的表單,開發基于視圖的表單和基于表的表單實質并沒有差別,
隻是基于視圖的表單中需要開發人員來明确編寫增、删、改、鎖的程式邏輯,而基于表的表單自動幫助完成這些功能。
1. Oracle Form開發的兩種模式
(1). 基于Database Table開發
(2). 基于Database View開發
2. 基于視圖的Form需要引入4個塊級别的觸發器:
(1).ON-INSERT 編寫插入資料的SQL語句或程式邏輯
(2).ON-UPDATE 編寫更新資料的SQL語句或程式邏輯
(3).ON-DELETE 編寫删除資料的SQL語句或程式邏輯
(4).ON-LOCK 編寫鎖定記錄的程式邏輯
針對上面的增删改的常用功能,可以引用Hand技術的大俠們提供的PLSQL包生産代碼 HAND_PLSQL_AUTOCREATE
二、HAND_PLSQL_AUTOCREATE
1. procedure - regist_table
2. procedure - form_view_iud
3. procedure - table_handle_pkg
三、案例
1. 打開包hand_plsql_autocreate
2. 視圖:form_view_iud
3. 輸入4個參數:
資料塊的名稱
資料庫對應資料庫視圖對應的基表
據庫表的所有者
資料庫表的主鍵
4. 執行,檢視運作結果:
到form中建包:包名:資料塊名稱+_PRIVATE
5. 添加塊觸發器:
on-insert : 資料塊名稱+_PRIVATE.insert_row
on-update : 資料塊名稱+_PRIVATE.update_row
on-lock : 資料塊名稱+_PRIVATE.lock_row
on-delete : 資料塊名稱+_PRIVATE.delete_row --若資料塊不允許删除資料,則可以省略此觸發器
6. 調用方式
7. 複制代碼至Package中,建立增删改鎖程式
8. 添加Form Trigger中調用insert/update/lock/delete procedurer
Thanks and Regards
轉載:張禮軍/黃建華大俠 - http://oracleseeker.com/2009/09/28/view_based_form_development_for_oracle_ebs/
轉載:百度文庫 - http://wenku.baidu.com/
<b>ERP技術讨論群: 288307890</b>
<b>技術交流,技術讨論,歡迎加入</b>
<b>Technology Blog Created By Oracle ERP - 鮑建立</b>