|
问题现象:在用友8.52erp系统中用友U8版本号:U8.52软件的公共平台产品线系统管理模块出现如下问题:用友U851ERP系统A升级到用友U852erp系统后,个别产品结构出现子项记录重复现象.请帮忙解答!
原因分析:引入851A版升级前数据,查看产品结构信息,发现产品结构子表及简化子表中记录数不符,子表productstructrues记录97514条,简化子表productstructuresex记录97268条。正确数据状态下该两表中记录数应该相等,如不符则会引起数据错误。在升级产品结构数据时,因源数据存在非法错误,故升级后的数据不正确。
解决方案:在用友erp 系统版本U8.52软件中查询重复产品结构:SELECTcpspcode,cpscode,count(cpscode)FROMProductStructuresgroupbycpspcode,cpscodehavingcount(cpscode)>11、删除产品结构子表ProductStructures中重复记录--查询重复记录:SELECTcpspcode,cpscode,max(autoid)asautoidintotmpPSFROMProductStructuresgroupbycpspcode,cpscodehavingcount(cpscode)>1--删除错误重复记录deletefromProductStructureswhereautoidin(selectb.autoidfromtmppsajoinProductStructuresbona.cpspcode=b.cpspcodeanda.cpscode=b.cpscodewherea.autoidb.autoid)--删除临时表droptabletmpps2、产品结构简化子表ProductStructuresEX中记录数不等于产品结构子表ProductStructures:SELECTcount(*)FROMProductStructures:共105130条记录;SELECTcount(*)FROMProductStructuresEx:共105124条记录,相差6笔记录;--通过构建临时表查询不符记录:selectcpspcode,count(cpscode)asctintotfromProductStructuresgroupbycpspcodeselectcpspcode,count(cpscode)asctintotExfromProductStructuresExgroupbycpspcodeselect*fromtjointexont.cpspcode=tex.cpspcodewheret.cttex.ct--获取错误父项编码cpspcode='3176F2540DYX100'),并删除临时表;droptabletdroptabletex--查询,查询结果中显示子表比简化子表多出6个存货子项:select*fromproductstructureswherecpscodenotin(selectdistinctcpscodefromproductstructuresexwherecpspcode='3176F2540DYX100')andcpspcode='3176F2540DYX100'(请与用户协商确认后删除或对简化子表补充缺少的6笔记录,下列语句供参考)删除(productstructures):deletefromproductstructureswherecpscodenotin(selectdistinctcpscodefromproductstructuresexwherecpspcode='3176F2540DYX100')andcpspcode='3176F2540DYX100'补充(productstructuresex):insertintoproductstructuresEX(cpspcode,cpscode,ipsquantity)selectcpspcode,cpscode,ipsquantityfromproductstructureswherecpscodenotin(selectdistinctcpscodefromproductstructuresexwherecpspcode='3176F2540DYX100')andcpspcode='3176F2540DYX100'3、检查,此时查询产品结构数据主子表及相应简化表,数据相符且无重复记录。SELECTcount(*)FROMProductStructuresSELECTcount(*)FROMProductStructuresExSELECTcount(*)FROMProductStructureSELECTcount(*)FROMProductStructureEx。
|
|