在oracle e-business suite 環境下進行二次開發,要求技術顧問對ebs系統的結構和實現有一定的了解,同時熟悉系統的關鍵流程,進而掌握後台的表結構設計,查詢資料來源需要達到的兩個目的是:
1.找到對應的資料庫物件:檢視或表
2.找到介面中欄位對應後台的表列
本文先介紹如何查詢form介面對應的資料來源,快速找出form介面後台對應的表/檢視以及對應的列,form本身特有的特點,致使查詢form介面所對應的後台資料來源變得相對簡單方便。
->使用「檢視—> 歷史記錄」功能--找出資料塊對應的後台資料庫物件
->使用「檢視 —> 診斷 –> 檢查」
--找出字段對應後台資料庫列資訊
->使用」last query」功能 --找出在form中最後執行查詢的sql語句
->使用sql trace功能 --檢視與資料庫有關的操作和效能統計資訊
->檢視form源** --最徹底最萬能
一、使用「檢視—> 歷史記錄」功能
「歷史紀錄」可以找出資料塊對應的後台資料庫物件,並不能找出欄位所對應的資料庫列。適用場合:適用於基於資料庫塊的資料來源查詢
前提:游標停留在需要查詢資料來源的資料塊中,並按某個條件查詢出資料
步驟:
1.選擇選單:help –> record history(幫助–> 歷史紀錄)
2.檢視彈出視窗中table name的值,這個值便是游標所在資料塊對應的後台資料庫檢視或資料庫表
例項(查詢使用者所對應的後台資料庫物件):
1.游標定位於user name欄位
2.執行查詢,查詢出sysadmin使用者資訊
3.選擇選單:help –> record history
4.彈出如下視窗,其中table name的值:fnd_user,既是後台資料庫物件
限制:歷史紀錄」的方式只適用於基於資料庫塊的查詢;而對於非資料庫塊的後台查詢沒有辦法使用,不能使用的地方會彈出如下的訊息:
二、使用「檢視」->診斷->檢查
通過檢查功能可以查詢出欄位對應後台資料庫列資訊,因此使用此方法的需要先找出對應的資料庫檢視或者表
步驟:
1.游標停留在form介面中的乙個字段
2.選擇選單:help —> diagnostics –> examine
4.彈出視窗中field對應的值既是form所對應的字段,一般情況下,此值即是資料列的列名
例項(查詢出user name 欄位所對應的後台資料庫列):
1.游標停留在user name欄位中
2.選擇選單:helpàdiagnosticsàexamine
4.彈出如下視窗,filed的值:user_name就是user name欄位所對應的後台資料庫列,因此本字段為:fnd_user.user_name4.user name:
注意事項:使用此方法來查詢資料列時,我們得到的只是form欄位的名稱,很多使用form欄位的名稱和所對應的資料來源列一致,但是在少數情況下,form欄位名稱和後台資料庫列名存在差異,這個使用此方法就無法100%適用,而需要通過名稱等進一步推測確認。
三、使用" last query 」功能
使用最後查詢可以找出在form中最後執行查詢的sql語句,從而得知對應的資料來源以及相關資料庫列資訊
適用場合:同時適用於基於資料庫塊和非資料庫塊的資料來源查詢
步驟:
1.在form中進行資料查詢
2.游標停留在form介面中的乙個欄位上
3.選擇選單:help –> diagnostics –> examine
5.彈出視窗中,選擇block為:system,field為:last_query
6.value中的sql語句既是form中最後查詢的語句
例項(找出併發管理器對應的後台資料來源):
1.進入併發管理器介面,並進行查詢(自動查詢),使用「歷史紀錄」方法無法得到表
3.彈出視窗中,選擇block為:
system,field為:
last_query
4.取得value為:
這樣可以取得資料庫檢視:fnd_concurrent_queues_vl
限制:由於last query中查詢到的sql語句是form中最後一次查詢的語句,因此如果需要查詢像主從關係中主塊資料來源就沒有辦法適用。
四、使用sql trace功能
使用sql trace功能,可以知道在form操作過程中,對資料庫系統進行了哪些查詢、dml和ddl操作,可以全面的檢視與資料庫有關的操作和效能統計資訊。
此方法是這些方法中功能最強大,同時也是最複雜的乙個,而且它經常成為效能除錯中的乙個得力工具。
步驟:
1.啟動trace模式
2.在form中進行操作,並保證操作有查詢、插入、更新或刪除動作
3.關閉trace模式
4.登陸資料庫伺服器
5.使用tkprof工具格式化trace結果檔案輸出
6.檢視被格式化過的trace檔案
7.推測驗證資料來源
例項(定義乙個使用者時,找到後台所進行的dml操作,進麵找到後台資料來源):
1.開啟form介面進入輸入狀態,還是以上面使用的user介面為例
2.選擇選單:help –> diagnostics –> trace –> (regular trace, trace with binds, trace with waits, trace with binds and waits)
3.記下trace檔案路徑及名稱
4.在介面上操作,輸入資訊,儲存
5.選擇選單:help –> diagnostics –> trace –> no trace,失效trace功能
6.使用資料庫作業系統使用者telnet到資料庫伺服器,切換到$oracle_home/admin/_/udump(上面所顯示的路徑) :
營鋼:/ykerp/db/tech_st/10.2.0/admin/yktest_erp03/udump
1.使用tkprof命令格式化trace輸出:tkprof demo_ora_21088_sysadmin.trc demo_ora_21088.out
實驗:yktest_ora_1809_handzf.trctkprof yktest_ora_1809_handzf.trcyktest_ora_1809_handzf.out
五、檢視form源**
form對於form應用來說,如果上面的方法還不足以滿足需求的話,可能就需要採用最徹底的辦法了,直接檢視form的源**,我想這個方法是最能夠解決問題的方法了,但是由於需要檢視源**,對於檢視的人員就需要熟悉form的開發,因此一般情況下不先推薦使用它,但是對於如果希望完全搞清楚form應用後台邏輯的情況下,也只能採用這種方式。此方法在此就不做介紹了,此方法可以說只適合form開發人員使用。
上面的方法是oracle ebs二次開發中最常用最有效的方法,在form相關的開發和應用中,掌握的以上的方法基本上能夠解決絕大多數的問題。
後續將放出oracle ebs環境下查詢資料來源的oaf篇
連線Excel資料來源並查詢
excel表必須是97 2003格式的。否則無法查詢。imports system.data.oledb public class form1 private sub button1 click byval sender as system.object,byval e as system.even...
spring下配置多資料來源
前言 做乙個移動應用的後台伺服器,涉及到多資料庫,以及資料庫集群配置 資料來源用spring管理,中間封裝了自己的jdbc 看配置檔案 上面的配置檔案,關鍵資訊已經遮蔽,大致配置過程有,裡面配了兩個資料來源,乙個普通的資料來源,另外乙個集群資料庫資料來源配置。如果大家在陪集群資料來源時出錯,很可能是...
SpringBoot學習 資料來源(一)單資料來源
springboot2.1.9預設支援三種資料來源 connection pool com.zaxxer.hikari.hikaridatasource org.apache.tomcat.jdbc.pool.datasource org.apache.commons.dbcp2.basicdata...