Oracle EBS側錄背後SQL方式_確認某個UI對應程式及Form名稱

Information silo/ Information island



記得之前在公司通靈鼎新Workflow GP過程也是十分艱難,畢竟無對外程式介面可以介接。

不像Tiptop可能還多少有提供程式介面能做二次開發。

最近在研究Oracle EBS如何得知某一個介面底層查詢邏輯、介面程式檔案位置諸如此類問題。
話說Oracle EBS 一整包68G下載解壓到安裝真的有夠久....

Oracle ENS中有所謂「列表值」 (LOV, List of values)

Step1.Help  --> About Oracle Applications.
可確認Form Name、Form Path、登入使用者名稱

Step2.對於UI 輸入篩選條件並點擊“查找”按鈕

Step3.打開連接到EBS資料庫模式的資料庫Session後,執行下面的SQL。
檢索由特定用戶名稱在module名稱包含
特定表單名稱的會話中執行的上一個SQL語句。

SELECT (SELECT to_char(sql_fulltext) FROM v$sqlarea WHERE sql_id = ses.prev_sql_id)
FROM v$session ses,
     v$sqlarea sq
WHERE ses.module LIKE '%&form_name%'AND client_identifier = '&user_name'AND sq.sql_id(+) = ses.sql_id;

這部分子查詢
SELECT (SELECT to_char(sql_fulltext) FROM v$sqlarea WHERE sql_id = ses.prev_sql_id)

從v$sqlarea視圖中檢索sql_fulltext,並將其轉換為字符串,對應於ses.prev_sql_id的SQL語句。
  • sql_fulltext包含SQL語句的全文。
  • sql_id是SQL語句的標識符。
  • v$session是一個包含當前會話信息的視圖。
  • v$sqlarea是一個性能視圖,提供當前在共享SQL區域中的SQL語句的信息。





Ref:

How to find data (tables) in Oracle E-Business Suite (EBS) database
https://dataedo.com/kb/app-metadata/oracle-ebs/finding-data-in-oracle-ebs-database

Find the SQL behind List of Values(LOV) of an Ebusiness Suite screen
https://oracleappsdiary.blogspot.com/2015/08/find-sql-behind-list-of-valueslov-of_25.html

Finding SQL behind LOV
https://oebstech.wordpress.com/2017/08/17/sql-behind-lov/


留言

這個網誌中的熱門文章

Architecture(架構) 和 Framework(框架) 有何不同?_軟體設計前的事前規劃的藍圖概念

何謂淨重(Net Weight)、皮重(Tare Weight)與毛重(Gross Weight)

(2021年度)駕訓學科筆試準備題庫歸納分析_法規是非題