(注意:此处暂且假设是从开发环境到正式环境的移植,并且请求和值集的命名规则均是以CUX开头!)
一、注意事项
1、在开发环境中取消掉请求中参数的独立值集
(原因:请求移植时,其参数对应的值集也会自动跟着移植过去,而有些独立值集的数据在不同环境中的定义可能是不一样的,所以如果独立值集跟着移过去,无形中会增加很多垃圾数据,而且独立值集修改起来也很不方便,所以移植请求前一定要把参数对应的独立值集都去掉,等到移过去后再加上。)
2、在去掉请求参数对应的独立值集前,一定要记得把每个独立值集对应的是那个请求的那个参数做成一个汇总表,这样方便去掉独立值集移植完后再在开发环境和正式环境中加上对应的值集。
(原因:如果不做一个汇总表记录下来,那么去掉后,将会在移植完后再加上值集增加很多工作量,甚至会更严重。)
3、移植过程中一定要有每项操作的工作量,以便后面如果出现问题可以追踪问题的源头。
二、移植过程
1、汇总每个独立值集对应的是那个请求的那个参数,方法如下(以“CUX_COSTCENTER”部门段值集为例来演示整个过程):
(2)生成导入脚本,执行如下代码:
一、注意事项
1、在开发环境中取消掉请求中参数的独立值集
(原因:请求移植时,其参数对应的值集也会自动跟着移植过去,而有些独立值集的数据在不同环境中的定义可能是不一样的,所以如果独立值集跟着移过去,无形中会增加很多垃圾数据,而且独立值集修改起来也很不方便,所以移植请求前一定要把参数对应的独立值集都去掉,等到移过去后再加上。)
2、在去掉请求参数对应的独立值集前,一定要记得把每个独立值集对应的是那个请求的那个参数做成一个汇总表,这样方便去掉独立值集移植完后再在开发环境和正式环境中加上对应的值集。
(原因:如果不做一个汇总表记录下来,那么去掉后,将会在移植完后再加上值集增加很多工作量,甚至会更严重。)
3、移植过程中一定要有每项操作的工作量,以便后面如果出现问题可以追踪问题的源头。
二、移植过程
1、汇总每个独立值集对应的是那个请求的那个参数,方法如下(以“CUX_COSTCENTER”部门段值集为例来演示整个过程):
(1)找出所有的独立值集,可用如下代码找出所有的独立值集
SELECT DISTINCT FFVS.FLEX_VALUE_SET_NAME "值集简称",
FFVS.DESCRIPTION "值集说明"
FROM FND_FLEX_VALUE_SETS FFVS,
FND_CONCURRENT_PROGRAMS_VL FCP,
FND_DESCR_FLEX_COL_USAGE_VL FDFCU
WHERE '$SRS$.' || FCP.CONCURRENT_PROGRAM_NAME =
FDFCU.DESCRIPTIVE_FLEXFIELD_NAME
AND FDFCU.FLEX_VALUE_SET_ID = FFVS.FLEX_VALUE_SET_ID
AND FFVS.FLEX_VALUE_SET_NAME LIKE 'CUX%' ----值集名
AND FFVS.VALIDATION_TYPE = 'I' --独立值集标识
ORDER BY FFVS.FLEX_VALUE_SET_NAME;
(2)在定义值集界面,查找出该独立值集,点击“用途”。
(3)选择“并发程序参数”TAB页,进入如下界面。
(4)将每个独立值集均做如上操作,进行汇总,汇总可参考如下图:
2、更加汇总表,逐个去掉请求参数对应的独立值集,去掉后再执行(1)中的代码,看看是否已全部去掉,知道再执行(1)中的代码时没有数据为止。
3、生成移植脚本
(1)生成导出脚本,执行如下代码:
SELECT 'FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct ' || FCP.CONCURRENT_PROGRAM_NAME || '.ldt ' ||
' PROGRAM APPLICATION_SHORT_NAME=' || FA.APPLICATION_SHORT_NAME ||
' CONCURRENT_PROGRAM_NAME=' || FCP.CONCURRENT_PROGRAM_NAME
FROM FND_CONCURRENT_PROGRAMS FCP, FND_APPLICATION FA
WHERE FCP.APPLICATION_ID = FA.APPLICATION_ID
AND FA.APPLICATION_SHORT_NAME = 'CUX';
(2)生成导入脚本,执行如下代码:
SELECT FCP.USER_CONCURRENT_PROGRAM_NAME,
'FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct ' ||
FCP.CONCURRENT_PROGRAM_NAME || '.ldt'
FROM FND_CONCURRENT_PROGRAMS_VL FCP, FND_APPLICATION FA
WHERE FCP.APPLICATION_ID = FA.APPLICATION_ID
AND FA.APPLICATION_SHORT_NAME = 'CUX';
(3)将导入和导出脚本也需要保存下来。
4、在开发环境,执行导出脚本,并将生成的XXXXX.ldt文件copy到本地,然后在上传到正式环境,然后在正式环境执行导入脚本。(此处一定要注意,不要把用户或者环境进错了,否则就功亏一篑了!)
5、请求对应的模板和数据源在正式环境逐个用fndload导入或者参照开发环境逐个重新定义。
6、根据汇总的独立值集汇总表给开发环境中的请求参数加上相应的独立值集。正式环境的值集等到独立值集维护好后再加上相应的独立值集。
7、到此请求的移植过程全部结束!