如何在report中使用fnd_profile.value ,srw.user_exit

问题:在ebs的report客户化开发中,fnd_profile.value('RESP_ID')  ,fnd_profile.VALUE('GL_SET_OF_BKS_ID') 等无效。

    解约方法:在report中使用fnd_profile.value的oracle标准方法为:
       1、添加用户参数p_conc_request_id
       2、在BeforeReport和AfterReport两个report trigger中,添加srw.user_exit('FND SRWEXIT');
即可在report中正常使用fnd_profile.value.

 

function BeforeReport return boolean is
begin
    
  begin
    SRW.USER_EXIT('FND SRWINIT');
    exception when srw.user_exit_failure then
      srw.message(3001,'Error in SRWINIT');
    raise;
  end;
  return (TRUE);
end;


 

function AfterReport return boolean is
begin
    
  begin
    SRW.USER_EXIT('FND SRWEXIT');
    exception when srw.user_exit_failure then 
      srw.message(4001,'Error in SRWEXIT');
  end;  
    
  return (TRUE);
end;

 

 

原因: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   ,eventhough   you   change   OU. 
  You   can   also   get   the   correct   OU   by   using   definitoin   of   parameter   to   pass   in   report.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值