s-HRV8.5PTM包执行脚本报错分析及解决方案_薪酬问题、房地产补丁、资金补丁问题解决方案问题一、s-HRV8.2SP2执行升级薪酬档案问题应用场景:s-HRV8.2SP2升级V8.5时报错并有“ORA-01427:单行子查询返回多个行”提示,具体如下:原因分析:员工的企业任职数据存在多条相同的生效日期引起,在批量更新时,单行子查询返回多行,只要导入员工系统外任职经历,在由s-HRV8.2SP2升级到V8.5时就会出现此错误。解决方案:员工任职经历有多条(前期通过SQL插入或未受限制导致的不规范数据,如任职日期存在相同日期的主要任职)。V8.5中薪酬增加了过滤条件,对于任职数据增加了是否内部员工为“是”的过滤条件,只允许导入一条相同日期为“是”的内部员工,对于不规范的数据进行过滤,不允许做升级薪酬档案处理,避免错误数据引发后续业务问题,解决此报错。1.解决方案(适用于从s-HR8.5_BETA环境升级到s-HRV8.5正式版)步骤一、部署薪酬私包(后续会发布补丁);步骤二、执行s-HR8.5_BETA升级步骤,升级至正式版;2.解决方案(适用于直接安装s-HRV8.5发布的正式版本)【注意】:需要等待后续补丁处理,没有发布补丁前,请先向候运龙老师索取私包来解决该问题。步骤一、安装s-HRV8.5发布的正式版本PTM118902;(如已安装,请忽略)步骤二、部署薪酬私包步骤三、重新执行s-HRV8.2SP2数据升级1)打完私包后再进行升级处理,如下截图,打完私包后再对s-HRV8.2SP2版本进行老客户数据升级;2)点击【开始执行】进行升级处理3)注意:导过员工系统外任职经历数据的,必须打薪酬私包处理。问题二、安装了房地产补丁(PTM123545)之后,再安装金蝶s-HRV8.5(PTM118902)过程中,执行SQL脚本报错。原因分析:安装了房地产补丁PTM123545后,s-HRV8.5应用版本被错误改为8.2.0,导致后续再安装s-HRV8.5补丁时脚本未执行不全。解决方案:步骤一、重新从KSM下载房地产补丁号PTM123545,并重新安装;步骤二、打s-HRV8.5(PTM118902)前必须先执行以下操作;1)重置s-HR应用版本号,在管理控制台执行SQL语句:新建库或者EASHR升级库执行:updateT_SYS_Datacentershrsetfmajor='0',fminor='0',fbuild='0',fbim='0',ftype='SHR's-HRV8.2SP2的升级库执行:updateT_SYS_Datacentershrsetfmajor='8',fminor='2',fbuild='1',fbim='0',ftype='SHR'2)执行SQL语句完成后,需要提交事务才能生效;3)检查是否生效。步骤三、查询SQL:Select*fromT_SYS_Datacentershr;查询结果:新建库或者EASHR升级库客户fmajor='0'fminor='0'fbuild='0'(s-HRV8.2SP2升级库为fmajor='8'fminor='2'fbuild='1')表示已经生效步骤四:重新安装s-HRV8.5(PTM118902)【注意】:后续安装该房地产补丁PTM123545,都必须按照以上步骤进行处理。问题三、安装了资金模块补丁(PT127491),再安装s-HRV8.5PTM118902时执行脚本报错。出现场景:provider[sql/1_5_0to2_0_0/s_HR/report/report_create_table.sql],sql[DECLARECNTPLS_INTEGER;BEGINSELECTCOUNT(*)FCOUNTINOCNTFROMT_SHR_BusinessTypeWHEREfid='doVAppi7TzuPzP2G7K62xU9YteI=';IFCNT=0THENEXECUTEIMMEDIATE'INSERTINTOT_SHR_BusinessType(FNAME_L2,FNUMBER,FDESCRIPTION_L2,FID)VALUES(''考勤管理'',''170'',''考勤类报表'',''doVAppi7TzuPzP2G7K62xU9YteI='')';ENDIF;END;]failed,sqlcode[6550]sqlstat[65000],Causedby[ORA-06550:第3行,第38列:PL/SQL:ORA-00942:表或视图不存在原因分析:先安装了资金模块补丁PT127491,再安装s-HRV8.5(PTM118902)时,执行脚本报错,T_SHR_BusinessType表因约束名冲突导致创建失败,。解决方案:(针对出现以上报错的解决方案)步骤一、卸载补丁PT1274911)选中补丁,按“F9”,设置补丁状态为“未安装”;2)从KSM下载PT127491补丁进行安装;3)重置s-HR应用版本,具体操作见步骤二。步骤二、管理执行SQL语句1)新建库或者EASHR升级库执行:updateT_SYS_Datacentershrsetfmajor='0',fminor='0',fbuild='0',fbim='0',ftype='SHR'2)s-HRV8.2SP2的升级库执行:updateT_SYS_Datacentershrsetfmajor='8',fminor='2',fbuild='1',fbim='0',ftype='SHR'3)执行提交事务动作;4)检查是否生效。步骤三、查询sqlSelect*fromT_SYS_Datacentershr查询结果:新建库或者EASHR升级库客户fmajor='0'fminor='0'fbuild='0'(s-HR8.2sp2升级库为fmajor='8'fminor='2'fbuild='1')表示已经生效。步骤四、重新安装s-HRV8.5(PTM118902)【注意】:未出现以上报错不需要处理注意:以上问题资金模块补丁PTMPT127491已经重新修复,所以后期下载的资金模块补丁执行后未出现以上报错,则不需要处理。问题四、解决在OralceV11版本下,s-HRV8.5行政组织维护界面“行政组织名称”为空的问题。问题场景:在s-HRV8.5中,行政组织维护界面列表中出现“行政组织名称”为空的问题,如下图。分析:登录:sqlplus/@ORACLE_SIDassysdba;检查数据库,发现版本是11.2;检查优化器版本:showparameterOPTIMIZER_FEATURES_ENABLE;如发现为11.2,则确认此问题为Oracle数据库本身的BUG导致,解决办法如下:方案一:在Oracle命令行中执行如下语句,将优化器版本降级到10.2,会立即生效,重启数据库也会自动修改配置文件,永久生效。ALTERSYSTEMSETOPTIMIZER_FEATURES_ENABLE='10.2.0.4'SCOPE=BOTH;方案二:将将数据库升级到oracle12.2版本。