ITPub博客

首页 > Linux操作系统 > Linux操作系统 > EBS中取profile值的用法

EBS中取profile值的用法

原创 Linux操作系统 作者:sudn 时间:2011-11-19 16:05:55 0 删除 编辑

EBS中取profile值的用法

Oracle开发 2009-07-24 18:28:20 阅读90 评论0   字号:大中小 订阅

[code]fnd_profile.value的用法:
select fnd_profile.value('gl_set_of_books_id')
   from dual
select  fnd_profile.value('mfg_organization_id')
   from dual   --
取子库

 

fnd_profile.value('mfg_organization_id')


select fnd_profile.value('GL_SET_OF_BKS_ID')
   from dual--
取帐套  (此方式在R12中已不能使用,需要用GL_ACCESS_SET_ID再查询出LEDGER_ID)

用此方式調整正確的當前咝协h境,特別是在multi_org環境下(在報表前,報表後均要執行因有可能在咝羞^程中變量被人為改變)
有一些view用到org環境參數的,一般要如下設定後,才能select到記錄:
begin
dbms_application_info.set_client_info(:org_id);--
如1,2,3之類的
end;

可用'FND_PROFILE.GET' function 查看以下一些參數
取得set of book id
Select fnd_profile.value('GL_SET_OF_BKS_ID') from dual
取得master_id
select fnd_profile.value('SO_ORGANIZATION_ID') from dual;
取得當前org_id
select to_number(fnd_profile.value('ORG_ID')) from dual;
org_id = :$PROFILES$.ORG_ID;
也可用此來取得,在定義報表參數時來定義

fnd_profile.value('MFG_ORGANIZATION_ID')
與上的區別
取得當前user_id
select TO_NUMBER(FND_PROFILE.VALUE('USER_ID')) from dual;
FND_GLOBAL.USER_ID
用此方式在report中有可能不好用,在report中建議用上一種方式FND_WHO.PROFILE('USERID') 又一種方式取得當前login_id
select TO_NUMBER(FND_PROFILE.VALUE('login_ID')) from dual;
取得當前username
Declare
username varchar2(30);
begin
username := FND_PROFILE.VALUE('USERNAME');
end;
另獲取username 也可以用FND_Global.User_Name
fnd_global package
可以取得一些關於當前login in用戶的信息
取得當前request_id
select FND_PROFILE.VALUE('CONCURRENT_REQUEST_ID') from dual;
FND_REQUEST.SUBMIT_REQUEST
另一種方式
請看fnd_concurrent_requests functions
在PL/SQL Develop中没有环境变量,所以如果要查询多组织的View,需要先执行设置环境变量函数
dbms_application_info.set_client_info(81);end;
与 BEGIN    fnd_client_info.set_org_context(82)END; 效果一样,这个81是指OU_ID,业务实体的ID [/code]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16860121/viewspace-711625/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 檢料后出現警告
请登录后发表评论 登录
全部评论

注册时间:2008-12-20

  • 博文量
    73
  • 访问量
    162429