Oracle EBS—PL/SQL环境初始化之 fnd_global.apps_initialize

 

fnd_global.apps_initialize(user_ID, Responsibility_id,Responsibility_application_id);

这条语句的作用简单地说就是在PL/SQL中假装已经登录了EBS,如下面的语句不使用fnd_global.apps_initialize会报错

     SELECT PAPF.Full_Name -----当前操作用户 
        INTO PRINTER
        FROM PER_ALL_PEOPLE_F PAPF,
             FND_USER         FU
       WHERE FU.EMPLOYEE_ID = PAPF.PERSON_ID
         AND FU.USER_ID = FND_GLOBAL.USER_ID
         AND SYSDATE BETWEEN EFFECTIVE_START_DATE AND EFFECTIVE_END_DATE;

 

参数user_ID:

用户ID,  (个人见解:若某用户是另一用户子用户,则选出的是母用户)

  select user_id

    from fnd_user
    where user_name like '%SYSADMIN%'

参数Responsibility_id,Responsibility_application_id);:

select RESPONSIBILITY_ID,APPLICATION_ID from fnd_responsibility where RESPONSIBILITY_KEY=yourrespkey ;

测试:

BEGIN
  fnd_global.APPS_INITIALIZE(user_id => youruesr_id ,esp_id => yourresp_id,resp_appl_id =>yourresp_appl_id);
END;
--GL_SET_OF_BKS_ID的值首先是设置了系统的配置文件的帐套信息才能得到

select fnd_profile.value('GL_SET_OF_BKS_ID') FROM DUAL;

 

据说可以在系统中的帮助-->诊断-->检查 菜单查看PROFILE得到这些值

posted @ 2020-10-13 10:27  shu'sblog  阅读(570)  评论(0编辑  收藏  举报