在Oracle电子商务套件版本12.2中创建自定义应用程序(文档ID 1577707.1)

在本文档中

本笔记介绍了在Oracle电子商务套件版本12.2中创建自定义应用程序所需的基本步骤。如果您要创建新表单,报告等,则需要自定义应用程序。它们允许您将自定义编写的文件与Oracle电子商务套件提供的标准种子功能分离。在向您的环境应用修补程序或执行升级时可以保留自定义设置。

自定义数据和索引表空间默认为APPS_TS_TX_DATA和APPS_TS_TX_IDX。

注意:当没有活动的修补程序周期时,应在运行文件系统上执行本文档中描述的过程。

也可以按照此过程更正先前创建的不使用AD Splice的自定义应用程序的注册。但是,在这种情况下,需要进行一些额外的准备步骤,如第6节所述

本文末尾有一个更改日志

  • 第1部分:使用AD拼接创建自定义应用程序
  • 第2部分:确认在数据库中创建自定义产品
  • 第3节:对应用程序层节点执行必需的步骤
  • 第4节:创建自定义对象
  • 第5节:将更改传播到其他文件系统
  • 第6节:已知问题
  • 第7部分:参考
  • 第1部分:使用AD拼接创建自定义应用程序

    1. 从My Oracle Support下载修补程序3636980“AD Splice的支持诊断(IZU)修补程序”。

    2. 手动将三个.txt文件从3636980 \ izu \ admin目录复制到您自己的临时目录。

    3. 将izuprod.txt重命名为<CUSTOM MODULE> prod.txt。在这个例子中,我们将使用“xxmzprod.txt”。

    4. 将izterr.txt重命名为<CUSTOM MODULE> terr.txt。在这个例子中,我们将使用“xxmzterr.txt”。

    5. 在文本编辑器中打开newprods.txt。

      1. 将“iiz”的所有引用更改为<自定义模块>,并将“IZU”的所有引用更改为<CUSTOM MODULE>(即保持区分大小写)。

      2. 注意:在这个例子中,我们将把“izu”的引用改为“xxmz”和“IZU”为“XXMZ”。

      3. 根据需要修改任何其他值。

        在这个例子中,这个文件的修改版本如下所示:
        product=xxmz
        base_product_top= *APPL_TOP*
        oracle_schema=xxmz
        sizing_factor=100
        main_tspace= USER_DATA
        index_tspace=USER_IDX
        temp_tspace=TEMP
        default_tspace= USER_DATA
    6. (视情况而定)在版本12.2中,任何新的自定义应用程序对象都将存储在APPS_TS_TX_DATA和APPS_TS_TX_IX中,而不管newprods.txt文件中“main_tspace =”和“index_tspace =”的设置如何。AD Splice将忽略这两个设置的任何信息,并且将仅为新的自定义对象使用默认的OATM表空间。出于这个原因,任何新的自定义模式都应该使用default_tspace作为APPS_TS_TX_DATA。

      只有在版本11i中创建的旧自定义应用程序应更新这两个值以指向旧的自定义OFA表空间。如果您在升级到版本12.2之前未转换为OATM,则只能执行此操作。


    7. 注意:有关参考,请参阅Oracle电子商务套件维护指南,版本12.2文件号E22954,第7章,应用程序DBA系统维护任务和工具,管理文件一节,添加新的非循环产品部分,步骤4.创建表空间条件)。

      这意味着AD Splice只会考虑您的自定义表空间,但仅适用于从未转换为使用OATM模型的旧版本11i自定义应用程序。在这种情况下,您需要执行以下附加步骤:

      1. 创建将拥有自定义架构的新用户。
      2. 将新用户的默认表空间定义为APPS_TS_TX_DATA。
      3. 编辑newprods.txt以包含以下自定义信息:
      4. product=xxmz
        base_product_top= *APPL_TOP*
        oracle_schema=xxmz
        sizing_factor=100
        main_tspace= USER_DATA // This will be ignored by adsplice.
        index_tspace=USER_IDX // This will be ignored by adsplice.
        temp_tspace=TEMP
        default_tspace= USER_DATA // This should be set to APPS_TS_TX_DATA, the default tablespace for your new custom schema user
        .
        不要包含以“//”开头的注释。

    8. 在文本编辑器中打开xxmzprod.txt。

      1. 开始之前,请注意以下重要事项:
        • 如果您要重命名应用程序,则不能将旧的应用程序ID与新的应用程序名称一起使用。
          • 如果您要保留现有的应用程序名称,则在运行AD Splice时必须使用相同的应用程序ID。
        • 如果您正在升级,并且自定义应用程序已经存在于数据库中,则应指定相同的应用程序ID。
          • 如果您正在执行新安装,请选择一个尚未使用的50,000以上的应用程序ID号。

      2. 将所有“izu”的引用更改为<自定义模块>,并将“IZU”的所有引用更改为<CUSTOM MODULE>(保持区分大小写)。

        注意:在本例中,对“izu”的引用将更改为“xxmz”,对“IZU”的引用将更改为“XXMZ”。


      3. 将所有对prodid 278的引用更改为您自己的应用程序ID。

        您可以运行以下SQL来确定您选择的自定义应用程序ID号是否可用:
        SQL>select decode(count ,0, 'Selected number is available', 'Selected number is already in use') Status, &&enter_custom_applID selected_number
        from
        (
        select count(*) as count from
        (
        select 'x' from fnd_oracle_userid
        where oracle_id= &&enter_custom_applID
        union
        select 'x' from fnd_application
        where application_id= &&enter_custom_applID
        )
        );
        注意:这个例子将使用50201的prodid。

    1. 在文本编辑器中打开xxmzterr.txt。

      1. 将所有“izu”的引用更改为<自定义模块>,并将“IZU”的所有引用更改为<CUSTOM MODULE>(保持区分大小写)。

        注意:在这个例子中,对“izu”的引用将改为“xxmz”,对“IZU”的引用将改为“XXMZ”。


      2. 将文本“Oracle_Support_Diagnostic_Tools”更改为“xxmz_custom_app”。
    1. 将以下文本文件复制到$ APPL_TOP / admin目录中:
      • xxmzprod.txt
      • xxmzterr.txt
      • newprods.txt

    2. 将目录切换到$ APPL_TOP下的admin目录。

    3. 运行AD拼接。

      注意:在Oracle电子商务套件版本12.2中,AD Splice首先启用新的用户版本,然后为自定义对象启用基于版本的重新定义(EBR)。

      AD Splice必须从APPL_TOP下的admin目录运行,并通过运行以下 命令来调用
      $ adsplice
      当提示输入以下内容时,可以按Enter键接受默认位置:
      Enter the directory where your AD Splicer control file is located.
      The default directory is [/oracle/VIS/apps/apps_st/appl/admin] :
      当提示输入以下内容时,可以按Enter键接受默认文件名:
      Please enter the name of your AD Splicer control file [newprods.txt] :
      当提示输入以下内容时,可以按Enter键接受默认值并重新生成环境文件:
      Do you wish to regenerate your environment file [Yes] ?
      AutoConfig将作为此过程的一部分自动运行。
    1. 查看AD拼接日志文件以确保过程成功完成。

    2. 查看AutoConfig日志文件以确保过程成功完成。
    注意:如果您有多个自定义顶部,则无需为每个自定义顶部创建一组完整的单个文件(例如xxxprod.txt,xxxterr.txt和newprods.txt),然后针对每个自定义运行AD Splice最佳。

    相反,您可以为每个定制产品创建单独的xxxprod.txt和xxxterr.txt文件,但只有一个包含多个定制产品条目的newprod.txt文件。运行AD Splice时,它将逐个浏览newprod.txt文件中的产品条目,找到相应的xxxprod.txt和xxxterr.txt文件,然后注册相关产品。

    例如,如果要创建四个自定义顶部,则需要创建四个xxxprod.txt和四个xxxterr.txt文件,但只需创建一个包含所有四个自定义产品条目的newprod.txt文件。然后,您可以在AD Splice的一次运行中注册所有四种产品。

    第2部分:确认在数据库中创建自定义产品

    1. 以APPS身份登录到SQL * Plus,然后运行以下SQL以确认fnd_application表有一行:
      SQL>select * from fnd_application where application_short_name = 'XXMZ';
      此语句只应返回一行。

    2. 运行以下SQL以检查产品安装表是否有一行用于定制产品:
      SQL>select * from fnd_product_installations where APPLICATION_ID = 50201;
      这条语句应该返回一行。

    3. 运行以下SQL来检查数据库用户:
      SQL>select * from dba_users where username = 'XXMZ';
      此语句只应返回一行。

    4. 为确保获取新的环境文件,请注销并以applmgr身份重新登录,然后运行以下命令以确认$ XXMZ_TOP变量已正确设置:
      $ env | grep XXMZ
    5. 运行以下命令检查文件系统是否已正确创建。您应该看到如下所示返回的目录列表:
      $ ls $XXMZ_TOP
      admin log mesg out sql
      注意:如果您使用fnd_oracle_user_pkg.load_row API注册了任何模式,则其密码不会被加密。因此,adpatch和adsplice将会失败。要解决此问题,您需要运行FNDCPASS实用程序来设置模式的密码。

    第3节:对应用程序层节点执行必需的步骤

    请遵循环境中Oracle电子商务套件应用程序层节点的相关步骤。

    1. 对于共享的APPL_TOP安装,对其余节点运行AutoConfig(不需要重新运行AD拼接)。或者,如果APPL_TOP未共享,请重复第1节中所有其他节点上的步骤8至12 

    2. 停止并重新启动应用程序层服务。

    3. 彻底测试Oracle电子商务套件操作以确认更改的效果。

    第4节:创建自定义对象

    您现在可以创建所需的任何自定义对象。按照下面的说明和相关指导。

    1. 应该在XXMZ模式中创建数据库数据对象,如表,索引和序列。您必须为每个自定义数据对象执行以下两个步骤:

      1. 将每个自定义数据对象的所有权限授予APPS模式。例如,以XXMZ用户身份登录:      
        grant all privileges on myTable to apps;
      2. 为每个自定义数据对象在APPS中创建一个同义词。例如,以APPS用户身份登录:
        SQL>create synonym myTable for XXMZ.myTable;
    2. 必须在APPS模式中创建数据库代码对象,例如包,函数,过程和触发器。您必须将自定义代码与Oracle电子商务套件种子代码区分开来,并将其前缀为“XX”。有关必须遵守的定制标准的完整说明,请参阅Oracle E-Business Suite文档Web库12.2版的“技术”选项卡下的“ Oracle电子商务套件开发人员指南”(HTML或PDF)

    3. 数据库对象的所有源文件(代码和数据)以及所有其他类型的自定义代码应保存在$ XXMZ_TOP目录下。创建适合对象类型的源代码文件。例如,表单将位于$ XXMZ_TOP / forms / US,$ XXMZ_TOP / admin / sql中的包源代码以及/ odf或/ xdf中的表源代码。

    4. 您可能还想创建用户访问自定义对象所需的自定义请求组,职责,菜单等。 

    第5节:将更改传播到其他文件系统

    当您开始下一个联机修补周期时,准备阶段将运行AD Splice同步操作以同步两个文件系统。

    如果准备阶段运行时AD Splice同步失败,请检查$ APPL_TOP / admin / $ TWO_TASK / log / adsplicelog日志文件以查找以下内容:

    UPDATE FND_ORACLE_USERID SET READ_ONLY_FLAG = 'A' WHERE ORACLE_ID

    如果您看到这一点,请应用补丁18283295(R12.AD.C.Delta.5)并重新开始准备阶段。

    注意:有关应用此修补程序的说明,参阅My Oracle Support知识文档1617461.1将最新的AD和TXK发行更新包应用到Oracle电子商务套件版本12.2

    您应该将所有定制文件的条目添加到位于$ APPL_TOP_NE / ad / custom / adop_sync.drv的定制同步驱动程序文件。采用实用程序使用此驱动程序文件在运行文件系统和补丁文件系统之间同步文件。有关说明,请参见第1.5.4节:将条目添加到自定义同步驱动程序文件,文档1577661.1在Oracle电子商务套件版本12.2中开发和部署自定义设置

    第6节:已知问题

    以下是目前已知的问题:

    • 如果您是上下文文件中具有自定义产品顶级的升级客户,但尚未运行AD Splice,则必须:

      1. 从FND_OAM_CONTEXT_CUSTOM表中删除相关条目。
      2. 在所有节点上运行AutoConfig。
      3. 根据需要应用最新的AD-TXK发布更新包。
      4. 运行AD Splice添加/注册自定义产品。

    • 自定义模式缩写不能超过十六(16)个字符。如果您有超过十六(16)个字符的任何自定义上下文变量,则必须针对上述已知问题(上下文文件中的自定义产品顶部)采取相同的操作。

    • 如果您有旧版本的自定义产品,FND_OAM_CONTEXT_CUSTOM表将包含它们的条目。如果您不想要这些自定义产品,请从FND_OAM_CONTEXT_CUSTOM表中删除条目,然后运行AutoConfig.

    第7部分:参考

    有关Oracle电子商务套件版本12.2中的AD Splice和修补操作的更多信息,请参阅:
    • Oracle电子商务套件安装指南,部件号E22953
    • Oracle电子商务套件维护指南,部件号E22954

    更改日志

    日期 描述
    2018-01-05
    • 使用其他信息扩展了文档的各个部分,并将第3部分第2步从“重新启动应用程序层服务”中更改。到“停止并重新启动应用程序层服务”。
    2017-10-03
    • 根据错误26910344修正第4部分。
    15月-2016
    • 修改了第6节,对R12.AD.C.Delta.8的自定义模式缩写进行了新的限制; 将其从8个字符改为16个字符。
    18月 - 2015年
    • 修改第1节第6节b点以区分升级和新安装中的应用程序ID要求。
    08-APR-2015
    • 从第2节的步骤c中删除了数据库登录示例。
    2015年3月13日
    • 在介绍中,请注意,自定义数据和索引表空间默认为APPS_TX_TX_DATA和APPS_TS_TX_IDX。
    • 在第6部分中,添加了有关从旧版本中删除自定义产品顶级的已知问题
    1月14日 - 2015年
    • 在第5节中,增加了关于如何获取补丁18815526:R12.AD.C的说明。
    08月14日2014
    • 稍作修改。
    19九月2013
    • 初始发布。

    Oracle电子商务套件开发的Oracle支持知识文档1577707.1

    版权所有©2013,2018,Oracle和/或其附属公司。版权所有。

    posted @ 2018-05-01 00:42  全威儒  阅读(713)  评论(0编辑  收藏  举报