oracle ebs 數據源,Oracle EBS環境下查找數據源(Form篇)

關于在Oracle EBS環境下如何查找數據源的文章幾年前就已經開始整理,但是其中關于OAF方面的一直沒有整理,導致這份文檔一直殘缺不全,

有很多次同事都向我索要相關文檔都未能如愿以償,新的一屆培訓工作再次啟動,為了自己也能夠“一勞永逸”,將相關內容整理發出。

在Oracle E-Business Suite 環境下進行二次開發,要求技術顧問對EBS系統的結構和實現有一定的了解,同時熟悉系統的關鍵流程,進而掌握后臺的表結構設計,查找數據源需要達到的兩個目的是:

到對應的數據庫對象:視圖或表

找到界面中字段對應后臺的表列

本文先介紹如何查找Form界面對應的數據源,快速找出FOrm界面后臺對應的表/視圖以及對應的列,

Form本身特有的特點,致使查找Form界面所對應的后臺數據源變得相對簡單方便。

一、使用“查看—> 歷史記錄”功能

“歷史紀錄”可以找出數據塊對應的后臺數據庫對象,并不能找出字段所對應的數據庫列。

適用場合:適用于基于數據庫塊的數據源查找

前提:光標停留在需要查詢數據源的數據塊中,并按某個條件查詢出數據

步驟:

選擇菜單:Help –> Record History(幫助 –> 歷史紀錄)

查看彈出窗口中Table Name的值,這個值便是光標所在數據塊對應的后臺數據庫視圖或數據庫表

實例(查找用戶所對應的后臺數據庫對象):

光標定位于User Name字段

執行查詢,查詢出SYSADMIN用戶信息

0818b9ca8b590ca3270a3433284dd417.png

選擇菜單:Help –> Record History

0818b9ca8b590ca3270a3433284dd417.png

彈出如下窗口,其中Table Name的值:FND_USER,既是后臺數據庫對象

0818b9ca8b590ca3270a3433284dd417.png

限制:歷史紀錄”的方式只適用于基于數據庫塊的查詢;而對于非數據庫塊的后臺查詢沒有辦法使用,不能使用的地方會彈出如下的消息:

0818b9ca8b590ca3270a3433284dd417.png

二、使用“查看 —> 診斷 –> 檢查”

通過檢查功能可以查找出字段對應后臺數據庫列信息,因此使用此方法的需要先找出對應的數據庫視圖或者表

步驟:

光標停留在Form界面中的一個字段

選擇菜單:Help —> Diagnostics –> Examine

在彈出的窗口中輸入數據庫用戶APPS的密碼,確定

彈出窗口中Field對應的值既是Form所對應的字段,一般情況下,此值既是數據列的列名

實例(查找出User Name字段所對應的后臺數據庫列):

光標停留在User Name字段中

選擇菜單:HelpàDiagnosticsàExamine

彈出如下窗口,輸入數據庫用戶APPS的密碼,確定

0818b9ca8b590ca3270a3433284dd417.png

彈出如下窗口,Filed的值:USER_NAME就是User Name字段所對應的后臺數據庫列,因此本字段為:fnd_user.user_name

0818b9ca8b590ca3270a3433284dd417.png

注意事項:使用此方法來查找數據列時,我們得到的只是Form字段的名稱,很多使用Form字段的名稱和所對應的數據源列一致,但是在少數情況下,Form字段名稱和后臺數據庫列名存在差異,這個使用此方法就無法100%適用,而需要通過名稱等進一步推測確認。

三、使用”Last Query”功能

使用最后查詢可以找出在Form中最后執行查詢的SQL語句,從而得知對應的數據源以及相關數據庫列信息

適用場合:同時適用于基于數據庫塊和非數據庫塊的數據源查找

步驟:

在Form中進行數據查詢

光標停留在Form界面中的一個字段上

選擇菜單:Help –> Diagnostics –> Examine

在彈出的窗口中輸入數據庫用戶APPS的密碼,確定

彈出窗口中,選擇Block為:SYSTEM,Field為:LAST_QUERY

Value中的SQL語句既是Form中最后查詢的語句

實例(找出并發管理器對應的后臺數據源):

進入并發管理器界面,并進行查詢(自動查詢),使用“歷史紀錄”方法無法得到表

0818b9ca8b590ca3270a3433284dd417.png

選擇菜單:Help –> Diagnostics –> Examine,在彈出的窗口中輸入APPS用戶密碼

彈出窗口中,選擇Block為:SYSTEM,Field為:LAST_QUERY0818b9ca8b590ca3270a3433284dd417.png

取得Value為:

SELECT ROWID,

row_id,

concurrent_queue_name,

user_concurrent_queue_name,

target_node,

max_processes,

application_id,

concurrent_queue_id,

control_code,

manager_type

FROM fnd_concurrent_queues_vl

WHERE enabled_flag = 'Y'

ORDER BY decode(application_id, 0, decode(concurrent_queue_id, 1, 1, 4, 2)),

sign(max_processes) DESC,

concurrent_queue_name,

application_id

這樣可以取得數據庫視圖:FND_CONCURRENT_QUEUES_VL

限制:由于Last Query中查詢到的SQL語句是Form中最后一次查詢的語句,因此如果需要查找像主從關系中主塊數據源就沒有辦法適用

四、使用SQL Trace功能

使用SQL Trace功能,可以知道在Form操作過程中,對數據庫系統進行了哪些查詢、DML和DDL操作,可以全面的查看與數據庫有關的操作和性能統計信息。

此方法是這些方法中功能最強大,同時也是最復雜的一個,而且它經常成為性能調試中的一個得力工具。

步驟:

啟動Trace模式

在Form中進行操作,并保證操作有查詢、插入、更新或刪除動作

關閉Trace模式

登陸數據庫服務器

使用Tkprof工具格式化Trace結果文件輸出

查看被格式化過的Trace文件

推測驗證數據源

實例(定義一個用戶時,找到后臺所進行的DML操作,進而找到后臺數據源):

打開Form界面進入輸入狀態,還是以上面使用的User界面為例

選擇菜單:Help –> Diagnostics –> Trace –> (Regular Trace, Trace with Binds, Trace with Waits, Trace with Binds and Waits)

0818b9ca8b590ca3270a3433284dd417.png

記下Trace文件路徑及名稱

0818b9ca8b590ca3270a3433284dd417.png

在界面上操作,輸入信息,保存

選擇菜單:Help –> Diagnostics –> Trace –> No Trace,失效Trace功能

使用數據庫操作系統用戶Telnet到數據庫服務器,切換到$ORACLE_HOME/admin/_/udump(上面所顯示的路徑)

使用Tkprof命令格式化Trace輸出:tkprof demo_ora_21088_SYSADMIN.trc demo_ora_21088.out

五、查看Form源代碼

對于Form應用來說,如果上面的方法還不足以滿足需求的話,可能就需要采用最徹底的辦法了,直接查看Form的源代碼,我想這個方法是最能夠解決問題的方法了,但是由于需要查看源代碼,對于查看的人員就需要熟悉Form的開發,因此一般情況下不先推薦使用它,但是對于如果希望完全搞清楚Form應用后臺邏輯的情況下,也只能采用這種方式。

此方法在此就不做介紹了,此方法可以說只適合Form開發人員使用。

上面的方法是Oracle EBS二次開發中最常用最有效的方法,在Form相關的開發和應用中,掌握的以上的方法基本上能夠解決絕大多數的問題。

后續將放出Oracle EBS環境下查找數據源的OAF篇。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/394879.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/394879.shtml
英文地址,請注明出處:http://en.pswp.cn/news/394879.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

net-speeder

有的同學反映自己的***速度慢,丟包率高。這其實和你的網絡服務提供商有關。據我所知一部分上海電信的同學就有這種問題。那么碰到了坑爹的網絡服務商,我們應該怎么辦呢? duangduang~~~~~~有請今天的主角:Net-Speeder登場&#xff…

linux 實用指令

通過init 來制定/切換不同的運行指令 查看linux 系統下,電腦的運行級別 vim /etc/inittab 如何找回丟失的root密碼? 進入到單用戶模式,然后修改root密碼 進入到單用戶模式,root不需要密碼也可以登錄 如果開機就是init 0 辦法&…

Atitit.異步的實現模式attilax大總結

Atitit.異步的實現模式attilax大總結 1.1. 函數回調(包括的future模式)1 1.2. 事件機制( 包括定時器 listeners 1 1.3. 中斷機制1 1.4. 訂閱機制 發布/訂閱 又稱"觀察者模式"(observer pattern)。1 1.5. Promises對象1 1.6. 輪詢1 2. 實現級別…

區塊鏈開發指南_區塊鏈開發權威指南

區塊鏈開發指南by Haseeb Qureshi由Haseeb Qureshi 區塊鏈開發權威指南 (The authoritative guide to blockchain development) Cryptocurrencies, ICOs, magic internet money — it’s all so damn exciting, and you, the eager developer, want to get in on the madness.…

【BZOJ1831】[AHOI2008]逆序對(動態規劃)

【BZOJ1831】[AHOI2008]逆序對(動態規劃) 題面 BZOJ洛谷 題解 顯然填入的數拎出來是不降的。 那么就可以直接大力\(dp\)。 設\(f[i][j]\)表示當前填到了\(i\),上一個填的數是\(j\)的最小逆序對數。 隨便拿什么維護一下轉移就好了。 #include&…

chrome控制臺如何把vw顯示成px_【CSS】rem,em,px的區別和使用場景

前端潮咖點擊上面藍字,關注我們!關注關注前端潮咖,每日精選好文作者:大前端小菜鳥來源:cnblogs.com/hyns/p/12380944.html作rem布局原理深度理解(以及em/vw/vh)一、前言我們h5項目終端適配采用的是淘寶那套《Flexible實…

php7對象轉換成數組,php 如何把對象轉換成數組對象

php把對象轉換成數組對象的方法:首先打開相應的PHP代碼文件;然后通過“function array_to_object($arr){...}”方法把對象轉換成數組即可。本文操作環境:windows7系統、PHP7.1版,DELL G3電腦php-對象(object) 與 數組(array) 的轉…

python中的線程之semaphore信號量

semaphore是一個內置的計數器 每當調用acquire()時,內置計數器-1 每當調用release()時,內置計數器1 計數器不能小于0,當計數器為0時,acquire()將阻塞線程直到其他線程調用release()。 來看下面的代碼: import time imp…

用什么代碼可以改變鍵盤_為什么我改變了對代碼質量的看法

用什么代碼可以改變鍵盤by John Cobb約翰科布(John Cobb) 為什么我改變了對代碼質量的看法 (Why I changed the way I think about Code Quality) What do you think about when you think about code quality?當您考慮代碼質量時,您會怎么看? Is it …

建模:建模清單

ylbtech-建模:建模清單1.返回頂部 2.返回頂部3.返回頂部4.返回頂部5.返回頂部 6.返回頂部作者:ylbtech出處:http://ylbtech.cnblogs.com/本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明&#xf…

獲得picker選項的當前年月值_如果你用OPPO手機!千萬記得開啟開發者選項,手機性能大幅度提升...

如果你用OPPO手機!千萬記得開啟開發者選項,手機性能大幅度提升用過OPPO手機的用戶都知道,手機使用1-2年都會出現卡頓的情況。這也是安卓手機的通病,但也有很多朋友手機使用3年也不會出現卡頓的現象,都是因為打開了手機…

imageset matlab,如何以imageSet或imageDataStore的形式向MATLAB中的BagOfFeatures()函數提供輸入?...

我想使用MATLAB的bagOfFeatures()函數。但它需要以imageSet或imageDataStore的形式輸入。我想運行的代碼如下:如何以imageSet或imageDataStore的形式向MATLAB中的BagOfFeatures()函數提供輸入?Dataset D:\dsktop\kinect_leap_dataset\acquisitions;thre…

Django運維后臺的搭建之四:用bootstrap模板讓運維前臺變得更漂亮

我對于PHP和ajax是屬于二把刀的水平,所以做網頁前端肯定是比上天還難,但是我又想把網頁做的漂亮可愛,怎么辦呢?我就只好去download別人的模板,在這里我使用了bootstrap框架做的模板。各位可以去https://wrapbootstrap.…

codeigniter_如何在瀏覽器中查看CodeIgniter日志文件

codeigniterby Seun Matt通過Seun Matt 如何在瀏覽器中查看CodeIgniter日志文件 (How to View CodeIgniter Log Files in the Browser) Just like any other page, it is now possible to read CodeIgniter log files in the browser. My Sweet Goodness!與其他頁面一樣&#…

小程序強制自動更新

(3)強制更新官方版 微信團隊2018-03-2315987瀏覽背景 此前有開發者反饋小程序發布新版本后,新版本覆蓋率比較慢,因為小程序的更新機制是異步的,部分用戶不會馬上應用上新版本。 小程序啟動會有兩種情況,一種是「冷啟動」&#xff…

聯想m7400pro更換墨粉盒怎么清零_佳能打印機怎么換墨水 佳能打印機換墨水注意事項【詳解】...

佳能打印機是我們辦公室用品中比較常見的一個品牌,作為國際知名品牌,其質量也是非常有保障的。在使用的時候打印機沒有墨是經常會遇見的。這時候我們就需要更換墨水盒了。但很多不知道具體步驟,或者沒有注意相關細節,導致換墨水盒…

oracle數據庫連接數超了,oracle數據庫當前和最大連接數

1、查詢oracle的連接數select count(*) from v$session;2、查詢oracle的并發連接數select count(*) from v$session where statusACTIVE;3、查看不同用戶的連接數select username,count(username) from v$session where username is not null group by username;4、查看所有用戶…

MySQL Workbench導出數據庫

步驟: 1. 打開mysql workbench,進入需要導出的數據庫,點擊左側欄的【Management】tab鍵。 2. 點選要輸出的數據庫 點擊【Data Export】選在要輸出的數據庫選擇是否輸出存儲過程和函數,事件,觸發器 點擊Start Export3. …

django 傳遞中文_如何在Django中建立消息傳遞狀態

django 傳遞中文by Ogundipe Samuel由Ogundipe Samuel 如何在Django中建立消息傳遞狀態 (How to Build a Message Delivery Status in Django) Today, we will make a real-time message delivery status framework with Django and Pusher.今天,我們將使用Django和…

軟鏈接與硬鏈接

文件引用模型 在linux中,一切皆文件,而文件包含元數據(metedata)和用戶數據(user data)。元數據中的inode號是系統標識和獲取用戶數據的唯一憑證,而文件名僅是為了方便用戶記憶和使用。為了管理…