发布网友 发布时间:2022-04-26 22:52
共1个回答
热心网友 时间:2022-04-10 21:57
在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。
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 $');
只要User登录这个Form,就会被记录下来,方便以后统计Form的被使用次数等信息。
逻辑是:只要在同一个权限登录一次Form,就会被记录一次。
同时,用DB工具也可以方便查看目前用户使用Form的信息。