http://oracleseeker.com/2009/08/12/how_to_find_the_table_view_of_oaf_application_in_oracle_ebs/
在OAF页面的查找后台的数据源相对于在Form中显得更加麻烦,同时也无法像Form中那样能够较为准确的定位,但是也能够查找出大部分的内容。
本文介绍如何使用OAF提供的诊断功能来快速查找OAF页面对应的数据库对象:
- 关于本页功能(About this Page)
- SQL Trace功能
一、使用关于本页功能(About this Page)
前提:在用户层设置预制文件:Personalize Self-Service Defn 的值为Yes 来启动个性化模式
步骤:
- 点击OAF页面左下角的“About this Page”链接
- 进入关于页面中,展开Page Definition部分的页面结构,页面的结构会随着页面定义有所不同
- 或者选择Business Component References Details部分中的View Object定义
- 查看View Object列中的信息,组件引用的视图对象会有链接,直接点击链接进入视图对象页面
- 视图对象详细信息中的SQL就是创建视图对象的语句,查看它就可以知道页面组件对应的后台数据源
- 通过选择不同的视图对象查看对应的定义
实例(找出PO Document Types页面中对应的后台数据库对象):
- 点击Document Types页面左下角的About this Page链接
- 进入About Page页面后,展开页面定义部分为如下的结构
- 点击PoAllDocumentTypesVO视图对象链接进入视图对象定义详细页面
- 另外也可以在About Page页面中展开Business Component References Details,然后选择下面的视图对象:oracle.apps.po.setup.server.PoAllDocumentTypesVO
- 通过视图对象详细页面可以得到SQL
二、使用SQL Trace功能
只要发生数据库操作,都可以使用SQL Trace功能来跟踪数据库操作统计,OAF页面中也需要进行数据库的增删查操作,因此可以可以使用它来跟踪。
前提:在用户层设置预制文件:FND: Diagnostics 的值为Yes,进入诊断模式
步骤:
- 选择Diagnostic为Set Trace Level,点击Go按钮
- 设置SQL Trace的级别
- 进入OAF页面中进行操作,并保证操作有查询、插入、更新或删除动作
- 操作完成后,再次进入关闭Trace模式,记录生成的Trace ID号码
- 以数据库操作系统用户,如ora02登陆数据库服务器
- 使用Tkprof工具格式化Trace结果文件输出
- 查看被格式化过的Trace文件
- 得出数据源
实例:
- 以系统管理员职责,在用户层设置预制文件:FND: Diagnostics 的值为Yes,进入诊断模式
- 以预置文件设置的同一用户登录首页,在页面的顶部点击Global按钮 Diagnostics
- 根据需要,选择Trace打头的几个选项来进入SQL Trace模式,点击Save按钮
- 进入PO Document Types页面更新Forward Method后保存
- 再次进入Diagnostics关闭Trace,记录下生成的最后一个Trace ID号码16456
- 使用下面的SQL查询出trace文件的路径
SELECT value
FROM v$parameter
WHERE name = ‘user_dump_dest’;
VALUE
———————————————————————–
/d02/db/tech_st/11.1.0/admin/VIS02_ebs006/diag/rdbms/vis02/VIS02/trace - 以数据库操作系统用户(ora02)Telnet到数据库服务器,运行如下命令
[ora02@ebs006 ~]$ cd /d02/db/tech_st/11.1.0/admin/VIS02_ebs006/diag/rdbms/vis02/VIS02/trace
[ora02@ebs006 trace]$ ls -al *16456*
-rw-r–r– 1 ora02 dba 116421 Aug 11 17:48 16456_234_1.output
-rw-r–r– 1 ora02 dba 502101 Aug 11 17:35 VIS02_ora_16456_234.trc
-rw-r–r– 1 ora02 dba 17288 Aug 11 17:35 VIS02_ora_16456_234.trm
[ora02@ebs006 trace]$ tkprof VIS02_ora_16456_234.trc 16456_234_1.output - 上面命令生成16456_234_1.output文件,从服务器下载文件后,找出文件中的UPDATE语句,其中对ICX类型的更新动作无需关注,16456_234_1.output文件样例
- 找到如下的UPDATE语句
1 2 3 4 5 6 7 8 |
UPDATE po_document_types_all_b podocumenttypeeo SET last_update_date = :1, last_updated_by = :2, forwarding_mode_code = :3, last_update_login = :4 WHERE org_id = :5 AND document_type_code = :6 AND document_subtype = :7 |
–