FND移植

项目期间,再次遇到数据移植的问题,要把自己开发的功能从demo环境移植到CRP环境,经过衡量,最后决定还是放弃手工移植,采用fnd工具来移植,以下就针对移植过程中遇到的问题做一些总结:

1、首先要确定自己要移植哪儿些数据(比如:Message、Lookup、Concurrent Program等等EBS中涉及到的数据),找到控制文件(lct文件),比如说对于AOL模块的数据,可以到$FND_TOP/patch/115/import下面寻找,常用的FNDLOAD控制文件列表如下:

 

模块

文件名描述
FNDafcpprog.lct可执行、并发程序、值集、弹性域
FNDafcpexec.lct可执行程序
FNDafattach.lct附件
FNDafcpreqg.lct请求组
FNDafcprset.lct请求集
FNDafffload.lct值集、关键性弹性域和描述性弹性域及相关安全性设置
FNDaflvmlu.lctLookups
FNDafmdmsg.lct消息
FNDafscprof.lctprofile options 预制文件
FNDafscursp.lctApplication users,User Responsibilities,Security groups,Applications,Application Responsibilities and Exclusion Functions
FNDafsload.lctFORM, FUNCTION, MENU, ENTRY, OBJECT, OBJECT_INSTANCE_SET, GRANT
FNDaffrmcus.lctForm个性化定义

2、查看lct文件中的参数

首先lct文件的内容大概如下:(以afmdmsg.lct消息的控制文件为例)

image(在DOWNLOAD下面还有UPLOAD部分)

其中的COMMENT不用管,DOWNLOAD(UPLOAD)后的实体(Entity)就是DEFINE位置定义的实体,DEFINE和END之间的部分为实体的段(Section)

FNDLOAD命令工具的用法:

FNDLOAD apps/appspwd 0 Y mode configfile datafile.ldt entity [ param ... ]

 Mode:有 DOWNLOAD和UPLOAD

 Configfile:就是FNDLOAD用来控制上传和下载的控制文件(lct)

 Datafile:是生成的数据文件 (ldt)

 Entity:是要多控制文件中的哪部分数据移植(数据可以嵌套,如并发请求包括了引用的值集) ,当一个控制文件中有多个实体定义的时候,选择其中要操作的部分

 Param:是用来控制数据移植的参数,可以多个(可以从DOWNLOAD部分中的sql语句中的参数来知道下载某个entity需要什么样的参数,其实参数都是可选的,如果不加控制,就会下载全部)

3、下面以Message的DOWNLOAD为例来说明:

NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
export NLS_LANG
FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/afmdmsg.lct $FND_TOP/patch/115/import/hjit_message_xia_en.ldt  FND_NEW_MESSAGES APPLICATION_SHORT_NAME=HJIT NLS_LANG= "AMERICAN_AMERICA.AL32UTF8"

其中前两句是linux中设定暂时性环境变量的方式,因为Message是由多语言的,所以要事先指定一下语言,对于多语言的数据的导入导出都可以这样,先设定系统的语言种类,然后执行导出,(非多语言的则不需要),第3句中就包含了FNDLOAD命令中的用法和参数,参数也可以使用模糊限定,比如对function的导出:

FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct $FND_TOP/patch/115/import/function_xia.ldt FUNCTION FUNCTION_NAME=HJIT%

其中的FUNCTION_NAME=HJIT%就是使用了模板限定,只要Function_name是以HJIT打头的都会进行DOWNLOAD

NLS_LANG可以通过下面的SQL查询获得:

SELECT '"' || nls_language || '_' || nls_territory || '.' || VALUE || '"'  nls_lang
  FROM fnd_languages, v$nls_parameters
 WHERE language_code IN ('US', 'ZHS')
   AND parameter = 'NLS_CHARACTERSET';

4、对于报表开发中定义的xml模板文件的导出,则需要使用XDOLoader命令工具,这是因为xml文件被作为了clob类型进行了处理,XDOLoader命令工具的使用如下:

导出clob型数据(XML publisher定义的数据模版):
java oracle.apps.xdo.oa.util.XDOLoader  DOWNLOAD -DB_USERNAME apps -DB_PASSWORD apps -JDBC_CONNECTION '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=tclhn.com)(PORT=1531))(CONNECT_DATA=(SID=DEMO)))'  -APPS_SHORT_NAME CUX1 -LCT_FILE $XDO_TOP/patch/115/import/xdotmpl.lct  -LDT_FILE $XDO_TOP/patch/115/import/cux_cxpz_xia.ldt -DS_CODE HJITCXPZ

其中绿色部分为连接数据库服务器的tns。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值