Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1355434
  • 博文数量: 416
  • 博客积分: 10495
  • 博客等级: 上将
  • 技术积分: 4258
  • 用 户 组: 普通用户
  • 注册时间: 2005-04-23 22:13
文章分类

全部博文(416)

文章存档

2015年(7)

2014年(42)

2013年(35)

2012年(14)

2011年(17)

2010年(10)

2009年(18)

2008年(127)

2007年(72)

2006年(23)

2005年(51)

分类: Oracle

2012-12-05 10:45:43

数据定义移植工具:FNDLOAD

4:05 pminOracle EBS二次开发by

在实际的EBS二次开发中,我们经常会碰到需要在各个环境之间移植二次开发的程序对象以及数据定义,如在EBS二次开发中并发请求的定义会涉及到:可执行、并发程序、值集、请求组等的定义,定义需要从开发环境、测试环境、UAT环境一直到正式环境,开发人员完成一个并发请求开发后,同样的定义需要在多个环境中手工完成,势必导致中间出现错误,导致浪费很多时间来进行检查,无形中增加了工作量;而更多的时候系统人员和开发人员是分离的,开发人员和系统管理人员之间还需要进行任务的交接,进一步增加了程序移植工作的难度和工作量。

FNDLOAD则是为了移植EBS数据定义而诞生的工具,它可以移植定义在AOL中的数据定义,如我们常见的并发程序、值集、预置文件等等,严格来说它可以实现任意两个Oracle数据库之间数据的移植,有了这个工具,我们就无需在多个环境中重复进行手工定义了。

在Oracle EBS环境下,和FNDLOAD工具类似的移植工具随处可见,并被广泛应用,如用来移植BI Publisher报表模板定义的XDOLoader工具;工作流定义移植工具WFLOAD;数据库对象移植工具ODFXDF.

04年在做一个项目的时候,我简单写过一个通过FNDLOAD工具在多个EBS环境间移植程序定义的文档,其中主要描述了如何使用FNDLOAD将AOL模块中的数据从一个环境移植到另一个环境,下面将从如何掌握并应用FNDLOAD这个工具的角度补充说明。

一、FNDLOAD介绍

数据移植的目的无非是将一个EBS系统下中的某个表中的数据按照条件筛选出来后传到另外EBS系统下数据库中对应的表中。FNNDLOAD的根本原理就是将数据从源数据库中下载到数据文件中,然后再通过FNDLOAD将数据文件上传到目标数据库中。

由于两个数据库系统不能保证是连接的,无法采用Oracle的DBLink技术,因此FNDLOAD采用了数据文件作为两个系统间传递的中介,而为了完成数据的下载和上传,FNDLOAD引入了控制文件(lct):用来定义移植那张表中的数据列,并分DOWNLOAD和UPLOAD模式定义数据抽取和更新的逻辑,DOWNLOAD用在源数据库环境下,UPLOAD应用于目标数据库环境下。

控制文件是FNDLOAD工具的核心,下面我们来分析一下并发请求移植的控制文件($FND_TOP/patch/115/import/afcpprog.lct)的部分内容:

?TEXT
三、如何移植多语言定义数据

AOL模块中很多数据的定义都是多语言的,如并发请求的定义,而通过FNDLOAD来进行数据的移植一次只包括一个语言的信息,因此如果定义存在多语言的情况,需要按照语言环境进行多次移植,即生成多个数据文件(ldt),在控制文件的目录下,如$FND_TOP/patch/115/import/下存在US和ZHS这样的语言目录,控制文件内容的开始指定了语言环境, 如LANGUAGE = “US”,而很多控制文件并未分多语言版本,这个需要在运行FNDLOAD命令的时候指定语言环境,所以使用控制文件的时候无需使用指定语言的版本,只要在运行FNDLOAD命令的时候通过下面的命令来切换语言环境

?SHELL
1 2 3 4 5 6 7 --中文 NLS_LANG= "AMERICAN_AMERICA.AL32UTF8" export NLS_LANG   --英文 NLS_LANG= "SIMPLIFIED CHINESE_CHINA.AL32UTF8" export NLS_LANG

通过上面的环境设置后再执行FNDLOAD,生成的数据文件就是相应语言环境的定义,只要切换不同的语言环境执行下载,多次生成数据文件就实现了多语言数据的生成;然后执行多次上载操作即可.

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

?PLSQL
1 2 3 4 '"'||nls_language||'_'||nls_territory||'.'||||'"'nls_langfnd_languages,v$nls_parameterslanguage_code('US','ZHS')parameter='NLS_CHARACTERSET';

 

四、开发员常用FNDLOAD控制文件列表

模块

文件名

描述

FND

afcpprog.lct

可执行、并发程序、值集、弹性域

FND

afcpexec.lct

可执行程序

FND

afattach.lct

附件

FND

afcpreqg.lct

请求组

FND

afcprset.lct

请求集

FND

afffload.lct

值集、关键性弹性域和描述性弹性域及相关安全性设置

FND

aflvmlu.lct

Lookups

FND

afmdmsg.lct

消息

FND

afscprof.lct

profile options 预制文件

FND

afscursp.lct

Application users,User Responsibilities,Security groups,Applications,Application Responsibilities and Exclusion Functions

FND

afsload.lct

FORM, FUNCTION, MENU, ENTRY, OBJECT, OBJECT_INSTANCE_SET, GRANT

FND affrmcus.lct Form个性化定义

更多控制文件请到各模块的patch/115/import目录下去查找。

转载:http://space.itpub.net/10951282/viewspace-689341

阅读(1767) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~