天天看點

Form_Form Builder開發基于視圖頁面和自動代碼生成包(案例)

 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>