Oracle EBS APP-FND-02938 多组织例程初始化产品报错

Oralce EBS R12中引入了MOAC的控制,所有多OU的表对象都添加了数据库VPD的控制策略,需要访问这些对象中的数据,首先需要进行多组织环境的初始化,但是如果客户化的应用中也需要具备多OU的能力,那也需要按照EBS的规范来创建数据库对象,同时访问客户化数据库对象数据时也需要对客户化应用进行多组织环境的初始化.

如下所示初始化我的客户化应用CUX:

1
2
3
4
5
6
7
8
9
10
11
12

BEGIN
  MO_GLOBAL.init('CUX');
END;
 
ORA-20001: SQL_PLSQL_ERROR: N, ROUTINE, MO_GLOBAL.INIT, N, ERRNO, -20001, N, REASON,
ORA-20001: SQL_PLSQL_ERROR: N, ROUTINE, MO_GLOBAL.SET_ORG_ACCESS, N, ERRNO, -20001, N, REASON,
ORA-20001: APP-FND-02938: 多组织例程初始化产品:  &PRODUCT 的会话失败。请通知您的支持代表。
ORA-06512: 在 "APPS.FND_MESSAGE", line 509
ORA-06512: 在 "APPS.MO_GLOBAL", line 36
ORA-06512: 在 "APPS.MO_GLOBAL", line 757
ORA-06512: 在 "APPS.MO_GLOBAL", line 700
ORA-06512: 在 line 3

运行下面的SQL来检查一下客户化应用的情况:

1
2
3
4
5
6
7
8

SELECT COUNT(*)
  FROM fnd_mo_product_init t
 WHERE application_short_name = 'CUX'
   AND status = 'Y';
 
  COUNT(*)
----------
         0

从上面的SQL结果可以看出由于客户化应用并没有注册为多组织的应用,因此初始化失败,通过下面的脚本来注册客户化应用使得多组织访问有效:

1
2
3
4
5
6

BEGIN
  fnd_mo_product_init_pkg.register_application('CUX',
                                               'SYSADMIN',
                                               'Y');
  COMMIT;
END;

上面语句执行后,客户化应用就具备了多组织访问的能力了,再次进行多组织的初始化就没有问题了。

当然如果你想去掉客户化应用的多组织能力,可以运行下面的代码来移除它:

1
2
3
4

BEGIN
  fnd_mo_product_init_pkg.remove_application('CUX');
  COMMIT;
END;

 

 

 

转载于:https://www.cnblogs.com/jenrry/p/10006450.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值