oracle中查找与已知表的数据库对象

在此次情况中,业务顾问就给我提供了一张客户公司客户化的Form,然后让找出界面上的数据是怎样生成的。

首先我们从EBS form 界面上找到了界面的数据来源于一张表ks_so_line_margin_all

A:--------------------------------

然后找出与这张表相关的数据库对象:

SELECT * FROM dba_dependencies t WHERE t.referenced_name = 'KS_SO_LINE_MARGIN_ALL';

查询结果中包含了一个package和一张同名表;

同名表就不需要继续追踪了,

B:--------------------------------

根据package,我们查看是不是可执行调用的程序包,是哪一个可执行在调用的程序包:

SELECT *

  FROM fnd_executables_vl t

 WHERE upper(t.execution_file_name) LIKE '%KS_OM_MARGIN_PKG%';

结果却是存在一条记录,说明有一个可执行调用的该package;

如果没有结果,则有可能form中直接调用的该package,如果是遇到这种情况,我们查找时就比较费劲了,需要逐个查看form中的代码了。

C:---------------------------------

根据可执行查看有哪些并发请求调用了该可执行:

SELECT * FROM fnd_concurrent_programs_vl t WHERE t.executable_id = 12719;

 

 

 

 

posted @ 2013-09-15 18:13  Aston Martin - Hand  阅读(291)  评论(0编辑  收藏  举报