如何啟用Oracle EBS Form監控


 

前言:

有時候,因某些需要,必須知道Oracle的Form被使用的情況,以方面我們做出決策;

例如,如果某個Form被使用的次數非常多,那么,這個Form的相關SQL代碼就應該優先處理,以減少服務器負荷,從而提供系統運行速度。

或者,(特別是)在系統要升級的時候,這些數據就顯得非常重要了:決定哪個Form應該留,哪個Form應該拿掉。

當然,這個信息只是做出決策的參考數據而已。

1. 在Oracle EBS上進行Form跟蹤的技術方法:

Oracle EBS的一個Profile 提供此功能:

User_Profile_Option_Name = 登錄:審計層(Sign-On:Audit Level)

View_Name = FND_SIGNON_AUDIT_VIEW

此Profile有4個可選值:

‘無’:不跟蹤--A

‘用戶’:只跟蹤到哪個用戶登陸

‘職責’:只跟蹤到哪個用戶以哪個職責登陸

‘表單’:跟蹤哪個用戶以哪個職責登陸后,運行哪個FORM--D

啟用此Profile后,可以在FND_SIGNON_AUDIT_VIEW中查詢到相關數據

通過PID或PROCESS_SPID與 v$process/v$session 關聯

2. 系統Profile設置:登錄:審計層

“登錄:審計層”允許您選擇審計登錄至 Oracle 應用產品用戶的層,並增加了四個審計層的功能:無、用戶、責任和表單。

“無”是默認值,

表示不審計登錄到 Oracle 應用產品的任何用戶。

在“用戶”層的審計線索:

登錄至您的系統的用戶

用戶登錄和退出的時間

占用的終端

在“責任”層審計執行了“用戶”層審計功能和線索:

責任用戶選擇

用戶使用每個責任的時間量

在“表單”層審計執行了“責任”層審計功能和線索:

用戶選擇的表單

用戶使用每個表單的時間

系統管理員在所有層均可進行查看、更新。

用戶無法查看或更改此預置文件選項。

此預置文件選項在全部四個層均可查看和更新。

是否可查看

是否允許更新

站點

應用

責任

用戶

此預置文件選項的內部名稱為 SIGNONAUDIT:LEVEL。

參考連接:http://www.onejava.com/article/oracle/fnd/adupapp.htm

系統配置實例:

clip_image002

clip_image004

3. 如何監控客制化的Form:

標准功能的Form,都會被只要設定Profile值,都會被監控的;

但是,客制開發的Form,如果想被系統記錄其使用情況和使用次數,必須寫代碼:

在Pre-Form(或者WHEN-NEW-FORM-INSTANCE)正確輸入下面語句,就可以記錄每次User登錄Form的信息(登錄時間,次數等)了:

FND_STANDARD.FORM_INFO('$Revision: 120.0 $', 'From_Name', 'Application_Short_Name',

'$Date: 2010/11/02 23:25 $', '$Author: Sam.T $');

例如,Form名稱是:XYG_WIP_MOVE_SCH_QY

注冊的模組的簡稱是:XYG

FND_STANDARD.FORM_INFO('$Revision: 120.0 $', 'XYG_WIP_MOVE_SCH_QY', 'XYG',

'$Date: 2010/11/02 23:25 $', '$Author: Sam.T $');

clip_image006

只要User登錄這個Form,就會被記錄下來,方便以后統計Form的被使用次數等信息。

邏輯是:只要在同一個權限登錄一次Form,就會被記錄一次。

同時,用DB工具也可以方便查看目前用戶使用Form的信息。

例如,我打開一個Form下面這個Form:

clip_image008

clip_image010

Form信息:

clip_image012

4. 相關腳本文件:

---記錄Form的使用次數:

SELECT A.*, B.FORM_NAME, B.DESCRIPTION

FROM FND_LOGIN_RESP_FORMS A, FND_FORM_VL B

WHERE A.FORM_ID = B.FORM_ID

---實時查看User的使用Form情況:

SELECT * FROM FND_SIGNON_AUDIT_VIEW

---記錄相關信息的PKG:FND_SIGNON

-向Form使用次數的表格塞記錄:

/*

INSERT INTO FND_LOGIN_RESP_FORMS(LOGIN_ID

,LOGIN_RESP_ID

,FORM_APPL_ID

,FORM_ID

,START_TIME

)

SELECT AUDIT_FORM.LOGIN_ID

,AUDIT_FORM.LOGIN_RESP_ID

,A.APPLICATION_ID

,F.FORM_ID

,SYSDATE

FROM FND_FORM F, FND_APPLICATION A

WHERE F.FORM_NAME = AUDIT_FORM.FORM_NAME

AND F.APPLICATION_ID = A.APPLICATION_ID

AND A.APPLICATION_SHORT_NAME = AUDIT_FORM.FORM_APPLICATION;

*/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM