如何在Report Builder中使用fnd_profile.value

本文介绍了解决EBS报告开发中无法获取特定Profile值的问题。通过添加用户参数p_conc_request_id,并在BeforeReport和AfterReport触发器中调用srw.user_exit('FNDSRWEXIT'),确保正确获取到用户的组织单位信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在EBS的Report开发中,需要根据客户化的一个Profile来控制用户可以访问的数据,可是在开发的过程中发现一直取不到该Profile的值,后来百度才找到了原因。

解决方法:

1、添加用户参数p_conc_request_id

2、在BeforeReport和AfterReport两个report trigger中,添加srw.user_exit('FND SRWEXIT')

官方解释如下:

The oracle standard report always use srw.user_exit('FND SRWINIT') to get the previous session information depend on p_conc_request_id, and set the client session to be the same OU. Because the application is difference session with concurrent program. If you use fnd_profile.value(...) to get the profile. You may get the same OU , even though you change OU. You can  also get the correct OU by using definition of parameter to pass in report.

实例如下所示(不可以写在AFTER PARAMETER FORM的trigger里面,经实验这个trigger还是取不到值):

function BeforeReport return boolean is
begin   
  SRW.USER_EXIT('FND SRWINIT');
  srw.message(201, nvl(fnd_profile.value('RESP_ID'),0));
  return (TRUE);
end;

转载于:https://www.cnblogs.com/echochen/p/3422931.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值