• 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;

     

     

    土豆君
  • 相关阅读:
    HDU 2874 Connections between cities(LCA离线算法实现)
    LCA离线算法Tarjan详解
    HDU 2586 How far away ?(LCA在线算法实现)
    LCA在线算法详解
    LA 4287 等价性证明(强连通分量缩点)
    POJ 2117 Electricity(割点求连通分量)
    ZOJ 1015 Fishing Net(弦图判定)
    BZOJ 1006: [HNOI2008]神奇的国度(弦图染色)
    POJ 2976 Dropping tests(分数规划)
    BZOJ 1003: [ZJOI2006]物流运输(spfa+dp)
  • 原文地址:https://www.cnblogs.com/jenrry/p/10006450.html
Copyright © 2020-2023  润新知