在Oracle电子商务套件版本12.2中创建自定义应用程序(文档ID 1577707.1)
在本文档中
本笔记介绍了在Oracle电子商务套件版本12.2中创建自定义应用程序所需的基本步骤。如果您要创建新表单,报告等,则需要自定义应用程序。它们允许您将自定义编写的文件与Oracle电子商务套件提供的标准种子功能分离。在向您的环境应用修补程序或执行升级时可以保留自定义设置。
自定义数据和索引表空间默认为APPS_TS_TX_DATA和APPS_TS_TX_IDX。
也可以按照此过程更正先前创建的不使用AD Splice的自定义应用程序的注册。但是,在这种情况下,需要进行一些额外的准备步骤,如第6节所述。
本文末尾有一个更改日志。
第1部分:使用AD拼接创建自定义应用程序
- 从My Oracle Support下载修补程序3636980“AD Splice的支持诊断(IZU)修补程序”。
- 手动将三个.txt文件从3636980 \ izu \ admin目录复制到您自己的临时目录。
- 将izuprod.txt重命名为<CUSTOM MODULE> prod.txt。在这个例子中,我们将使用“xxmzprod.txt”。
- 将izterr.txt重命名为<CUSTOM MODULE> terr.txt。在这个例子中,我们将使用“xxmzterr.txt”。
- 在文本编辑器中打开newprods.txt。
- 将“iiz”的所有引用更改为<自定义模块>,并将“IZU”的所有引用更改为<CUSTOM MODULE>(即保持区分大小写)。
- 根据需要修改任何其他值。
在这个例子中,这个文件的修改版本如下所示: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
注意:在这个例子中,我们将把“izu”的引用改为“xxmz”和“IZU”为“XXMZ”。 - (视情况而定)在版本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,则只能执行此操作。 - 创建将拥有自定义架构的新用户。
- 将新用户的默认表空间定义为APPS_TS_TX_DATA。
- 编辑newprods.txt以包含以下自定义信息:
- 在文本编辑器中打开xxmzprod.txt。
- 开始之前,请注意以下重要事项:
- 如果您要重命名应用程序,则不能将旧的应用程序ID与新的应用程序名称一起使用。
- 如果您要保留现有的应用程序名称,则在运行AD Splice时必须使用相同的应用程序ID。
- 如果您正在升级,并且自定义应用程序已经存在于数据库中,则应指定相同的应用程序ID。
- 如果您正在执行新安装,请选择一个尚未使用的50,000以上的应用程序ID号。
- 如果您要重命名应用程序,则不能将旧的应用程序ID与新的应用程序名称一起使用。
- 将所有“izu”的引用更改为<自定义模块>,并将“IZU”的所有引用更改为<CUSTOM MODULE>(保持区分大小写)。
注意:在本例中,对“izu”的引用将更改为“xxmz”,对“IZU”的引用将更改为“XXMZ”。 - 将所有对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。
- 开始之前,请注意以下重要事项:
这意味着AD Splice只会考虑您的自定义表空间,但仅适用于从未转换为使用OATM模型的旧版本11i自定义应用程序。在这种情况下,您需要执行以下附加步骤:
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.不要包含以“//”开头的注释。
- 在文本编辑器中打开xxmzterr.txt。
- 将所有“izu”的引用更改为<自定义模块>,并将“IZU”的所有引用更改为<CUSTOM MODULE>(保持区分大小写)。
注意:在这个例子中,对“izu”的引用将改为“xxmz”,对“IZU”的引用将改为“XXMZ”。 - 将文本“Oracle_Support_Diagnostic_Tools”更改为“xxmz_custom_app”。
- 将所有“izu”的引用更改为<自定义模块>,并将“IZU”的所有引用更改为<CUSTOM MODULE>(保持区分大小写)。
- 将以下文本文件复制到$ APPL_TOP / admin目录中:
- xxmzprod.txt
- xxmzterr.txt
- newprods.txt
- 将目录切换到$ APPL_TOP下的admin目录。
- 运行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将作为此过程的一部分自动运行。
- 查看AD拼接日志文件以确保过程成功完成。
- 查看AutoConfig日志文件以确保过程成功完成。
相反,您可以为每个定制产品创建单独的xxxprod.txt和xxxterr.txt文件,但只有一个包含多个定制产品条目的newprod.txt文件。运行AD Splice时,它将逐个浏览newprod.txt文件中的产品条目,找到相应的xxxprod.txt和xxxterr.txt文件,然后注册相关产品。
例如,如果要创建四个自定义顶部,则需要创建四个xxxprod.txt和四个xxxterr.txt文件,但只需创建一个包含所有四个自定义产品条目的newprod.txt文件。然后,您可以在AD Splice的一次运行中注册所有四种产品。
第2部分:确认在数据库中创建自定义产品
- 以APPS身份登录到SQL * Plus,然后运行以下SQL以确认fnd_application表有一行:
SQL>select * from fnd_application where application_short_name = 'XXMZ';此语句只应返回一行。
- 运行以下SQL以检查产品安装表是否有一行用于定制产品:
SQL>select * from fnd_product_installations where APPLICATION_ID = 50201;这条语句应该返回一行。
- 运行以下SQL来检查数据库用户:
SQL>select * from dba_users where username = 'XXMZ';此语句只应返回一行。
- 为确保获取新的环境文件,请注销并以applmgr身份重新登录,然后运行以下命令以确认$ XXMZ_TOP变量已正确设置:
$ env | grep XXMZ - 运行以下命令检查文件系统是否已正确创建。您应该看到如下所示返回的目录列表:
$ ls $XXMZ_TOPadmin log mesg out sql注意:如果您使用fnd_oracle_user_pkg.load_row API注册了任何模式,则其密码不会被加密。因此,adpatch和adsplice将会失败。要解决此问题,您需要运行FNDCPASS实用程序来设置模式的密码。
第3节:对应用程序层节点执行必需的步骤
请遵循环境中Oracle电子商务套件应用程序层节点的相关步骤。
- 对于共享的APPL_TOP安装,对其余节点运行AutoConfig(不需要重新运行AD拼接)。或者,如果APPL_TOP未共享,请重复第1节中所有其他节点上的步骤8至12 。
- 停止并重新启动应用程序层服务。
- 彻底测试Oracle电子商务套件操作以确认更改的效果。
第4节:创建自定义对象
您现在可以创建所需的任何自定义对象。按照下面的说明和相关指导。
- 应该在XXMZ模式中创建数据库数据对象,如表,索引和序列。您必须为每个自定义数据对象执行以下两个步骤:
- 将每个自定义数据对象的所有权限授予APPS模式。例如,以XXMZ用户身份登录:
grant all privileges on myTable to apps; - 为每个自定义数据对象在APPS中创建一个同义词。例如,以APPS用户身份登录:
SQL>create synonym myTable for XXMZ.myTable;
- 将每个自定义数据对象的所有权限授予APPS模式。例如,以XXMZ用户身份登录:
- 必须在APPS模式中创建数据库代码对象,例如包,函数,过程和触发器。您必须将自定义代码与Oracle电子商务套件种子代码区分开来,并将其前缀为“XX”。有关必须遵守的定制标准的完整说明,请参阅Oracle E-Business Suite文档Web库12.2版的“技术”选项卡下的“ Oracle电子商务套件开发人员指南”(HTML或PDF)。
- 数据库对象的所有源文件(代码和数据)以及所有其他类型的自定义代码应保存在$ XXMZ_TOP目录下。创建适合对象类型的源代码文件。例如,表单将位于$ XXMZ_TOP / forms / US,$ XXMZ_TOP / admin / sql中的包源代码以及/ odf或/ xdf中的表源代码。
- 您可能还想创建用户访问自定义对象所需的自定义请求组,职责,菜单等。
第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)并重新开始准备阶段。
您应该将所有定制文件的条目添加到位于$ APPL_TOP_NE / ad / custom / adop_sync.drv的定制同步驱动程序文件。采用实用程序使用此驱动程序文件在运行文件系统和补丁文件系统之间同步文件。有关说明,请参见第1.5.4节:将条目添加到自定义同步驱动程序文件,文档1577661.1,在Oracle电子商务套件版本12.2中开发和部署自定义设置。
第6节:已知问题
以下是目前已知的问题:
- 如果您是上下文文件中具有自定义产品顶级的升级客户,但尚未运行AD Splice,则必须:
- 从FND_OAM_CONTEXT_CUSTOM表中删除相关条目。
- 在所有节点上运行AutoConfig。
- 根据需要应用最新的AD-TXK发布更新包。
- 运行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 |
|
| 2017-10-03 |
|
| 15月-2016 |
|
| 18月 - 2015年 |
|
| 08-APR-2015 |
|
| 2015年3月13日 |
|
| 1月14日 - 2015年 |
|
| 08月14日2014 |
|
| 19九月2013 |
|
Oracle电子商务套件开发的Oracle支持知识文档1577707.1
版权所有©2013,2018,Oracle和/或其附属公司。版权所有。
在Oracle电子商务套件版本12.2中创建自定义应用程序(文档ID 1577707.1)的更多相关文章
- Oracle电子商务套件版本12.1.3自述文件 (Doc ID 1534411.1)
文档内容 用途 适用范围 详细信息 应用版本更新包 更新后的步骤 包含的修补程序列表 变更记录 文档可访问性 参考 适用于: Oracle Applications DBA - 版 ...
- MFC中 创建基于CFormView的文档视图程序
在MFC中可以创建多种类型的窗口程序,如对话框程序.单文档结构程序(非文档/视图结构).单文档(文档/视图结构)以及多文档视图结构程序等. 在编写一般的小工具时,我们的首选显然是对话框程序,不过基于对 ...
- 【MOS】在不同版本和平台之间进行还原或复制 (文档 ID 1526162.1)--跨版本恢复
参考链接:http://blog.itpub.net/26736162/viewspace-1549041/
- Oracle版本发布规划 (文档 ID 742060.1)
Oracle Database Release Schedule of Current Database Releases (文档 ID 742060.1) Oracle Database RoadM ...
- 转://【MOS】关于在不同版本和平台之间进行还原或复制的常见问题 (文档 ID 1526162.1)--跨版本恢复
Questions and Answers 1) 我能用更高版本的 Oracle 还原或复制旧版本的数据库吗? 2) 我能在两个不同的补丁程序集之间进行还原或复制吗? 3) 我能在同一操作系统的不同版 ...
- 在物理 Data Guard 中对异构主备系统的支持 (文档 ID 1602437.1)
Data Guard中主数据库与物理备用数据库(Redo Apply)之间可以有什么差别?本说明针对重做应用和 Oracle Data Guard 12 发行版 1 进行了更新.它适用于 Oracle ...
- oracle数据库 PSU,SPU(CPU),Bundle Patches 和 Patchsets 补丁号码快速参考 (文档 ID 1922396.1)
数据库 PSU,SPU(CPU),Bundle Patches 和 Patchsets 补丁号码快速参考 (文档 ID 1922396.1) 文档内容 用途 详细信息 Patchsets ...
- C#操作Xml:XSLT语法 在.net中使用XSLT转换xml文档示例
XSL即可扩展的样式表文件. 可以格式化xml的显示,也可以将xml转换成需要的另一种格式. 学习XSL必须熟悉XPath.XSL和XPath一样简单强大,容易学习. 1. XSL既然可以格式化xml ...
- xtts v4for oracle 11g&12c(文档ID 2471245
xtts v4for oracle 11g&12c(文档ID 2471245.1) 序号 主机 操作项目 操作内容 备注: 阶段一:初始阶段 1.1 源端 环境验证 migrate_check ...
随机推荐
- 002_docker构建zookeeper环境
最近因为要维护公司zk环境,所以自己先得搞一套先玩玩 git地址=>https://github.com/jplock/docker-zookeeper/tree/v3.4.9 一.build ...
- Java工具库:
1. 重试框架: https://docs.spring.io/spring-batch/trunk/reference/html/retry.html <dependency> < ...
- Springbatch Miscellanea Notes
1.scope="step",如下图,这是一种后绑定的方式,生成Step的时候,才去创建bean <bean id="testTasklet" paren ...
- python 包详解
包 包是一种管理 Python 模块命名空间的形式,采用"点模块名称". 比如一个模块的名称是 A.B, 那么他表示一个包 A中的子模块 B . 就好像使用模块的时候,你不用担心不 ...
- phpinfo常见配置信息
在开发过程中,经常碰到比如加载的是哪个配置文件.上传文件大小受限.PHP错误日志文件位置等问题需要快速查找出来并解决,因此总结记录出下面的相关配置. phpinfo - 输出关于 PHP 配置的信息 ...
- 利用 gdb 探究main(int argc, char *argv[]){} 中的char *argv[]
在 Linux 系统中编写小程序 代码如下 编译并采用gdb调试 在调试之前设置三个参数 a bb ccc 输入 start 执行代码到 return 0; 从这里可以看到 argc = ...
- MySQL服务器发生OOM的案例分析
[问题] 有一台MySQL5.6.21的服务器发生OOM,分析下来与多种因素有关 [分析过程] 1.服务器物理内存相对热点数据文件偏小,62G物理内存+8G的SWAP,数据文件大小约550G 触发OO ...
- 初识thinkphp(2)
thinkphp的url路径的表示格式为 http://ip/tp/public/index.php/模块/控制器/操作 这里url最后的操作就是类里面的函数. 0x01:url访问格式 官方文档中有 ...
- 不同浏览器的userAgent
一.IE浏览器 //IE6 "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" //IE7 "Mozill ...
- JavaScript的计时器的工作原理
最近都在看一些JavaScript原理层面的文章,恰巧看到了jQuery的作者的一篇关于JavaScript计时器原理的解析,于是诚惶诚恐地决定把原文翻译成中文,一来是为了和大家分享,二来是为了加深自 ...