oracle 并发请求跟踪,根据参数查找并发请求

转一篇ERP100纵横四海的文章:

财务人员要求根据请求关闭离散任务的参数来查找到提交人员。如果从界面上来找,只能根据提交人员或提交时间等来找到并发请求,再查看提交时的参数。

经研究,发现在apps下有个对象FND_CONCURRENT_REQUESTS,记录了详细的并发请求的情况。根据此对象的ARGUMENT_TEXT列可以找出参数。

详细过程及代码见下:

早上,突然接到个电话,问能不能根据并发请求的参数,查到是谁提交的并发请求。这下麻烦了。

在EBS的界面上,可以根据并发请求的名称、提交时间、提交人等来查找并发请求,但请求参数只能在查出并发请求以后再进行查看,不能作为查询条件。只能从数据库里直接查底层表了。

并发请求的参数,应该记录在某个表中,但究竟是哪个表呢?不知道!先查了下metalink,有可能是关键字不对,没查到。只有自己试着去找了。

老规矩,直接用apps用户登陆数据库,先看下在user_objects中,有哪些名字比较象的。先把有conc的都找出来。

select object_type, object_name

from user_objects

where object_name like '%CONC%'

and object_type not in ('PACKAGE', 'PACKAGE BODY')

order by 1, 2;

恩,看到个叫FND_CONCURRENT_REQUESTS的,应该比较象。看下有哪些列:

desc FND_CONCURRENT_REQUESTS

哦,列太多了,而且也不是很明白各列具体什么含义。好在有个REQUEST_ID是能猜出来含义的。先到界面上,随便查个并发请求出来,把请求号,也就是REQUEST_ID查到,再查下这个表里对应的列的值,跟界面上的一比较,就差不多了。

select * from FND_CONCURRENT_REQUESTS

where REQUEST_ID = 967919;

一比较,就知道了:

PROGRAM_APPLICATION_ID

CONCURRENT_PROGRAM_ID

RESPONSIBILITY_APPLICATION_ID

RESPONSIBILITY_ID

组合起来,决定对应的并发请求程序;

NUMBER_OF_ARGUMENTS

ARGUMENT_TEXT

就是参数个数以及具体参数,而每个单独的参数,又在ARGUMENT1到ARGUMENT25的列中定义。

看了一下,需要查的参数对应的列为GUMENT14,这下就好办了。

根据界面查一个对应的请求出来,把

PROGRAM_APPLICATION_ID

CONCURRENT_PROGRAM_ID

RESPONSIBILITY_APPLICATION_ID

RESPONSIBILITY_ID

先确定好,再根据这些条件,就可以找到请求号了。再到界面上去根据请求号找到对应的请求,请求人也就能找到了。--这地方有点不明白,如果知道参数的值以及对应的列,可以直接查询得出请求号啊。

其实,在FND_CONCURRENT_REQUESTS表中就有请求人的user_id,不过,要找到user_name,还要再关联fnd_user表才可以。懒得写了,直接查EBS会快些。

不过,费了半天力气,最后查出来的结果是,数据库里没有根据这个参数提交的请求。打电话给财务,他们说参数给错了,可能不是这个参数。

唉,白紧张了2个小时啊。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值