killerxf 发表于 2015-9-23 07:13:07

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得到这些值
页: [1]
查看完整版本: Oracle EBS—PL/SQL环境初始化之 fnd_global.apps_initialize