|
问题现象:在用友8.51Aerp系统中用友U8版本号:U8.51A软件的生产制造产品线物料需求模块出现如下问题:现在一个账套升上级来后,物料需求计划有个问题:在物料需求计划中,最新的采购计划是2004-7-3,上面打上了"过期"的标志了,因此在采购订单中不能将剩余的没有参照的存货参照出来,在采购订单参照时,显示的是空的记录.我将数据库中的状态由3(过期)改为2(已审核)也不行;我重新进行mrp运算产生新的采购计划后,里面的表体是空的.备注:1、由821升上级来时,这个2004年是单独升级的.当时升上级来时,accinformation中的物料需求计划的启用日期是空的.2、如果哪位老师用这个数据进行升级测验时,要先删去821下的rdrecords的触发器.请问如何解决?(客户共有14套账,全有这个问题,并且当时全是单独升2004年的.)请帮忙解答!
原因分析:升级前数据表物料需求计划主表pp_ppcmain上无自增长主键id,升级时按cperiod字段排序,添加标识种子变量id,由于字段cperiod上数据值为字符型,故升级后id大小不能准确对应采购计划的先后。例如cperiod=‘采购计划101‘和‘采购计划25‘,采购计划101应晚于采购计划25,升级后其id值应较大才对。但按字符型排序则采购计划101isnull(fpoquantity,0)--2、inventory.bInvEntrust:是否受托代销--3、pp_ppcmain.iState=2:状态,1-未审核;2-审核;3-执行完毕--4、pp_ppcmain.id=(selectmax(id)frompp_ppcmain)现问题主要发生在3、4上,即状态错误、id错误。
解决方案:在用友erp 系统版本U8.51A软件中由于升级后数据错误导致参照不出应有的MRP采购计划,现手工调整数据,分析过程如下:1、调整:由于id为标识种子,递增变量为1,无法直接update该字段。首先从企业管理器手工去掉pp_ppcmain上字段id的主键标识,设置标识为否;再在查询分析器中执行下面sql脚本:updatepp_ppcmainsetid=substring(cperiod,5,len(cperiod))updatepp_ppcdetailssetid=substring(cperiod,5,len(cperiod))updatepp_ppcmainsetistate=3updatepp_ppcmainsetistate=2whereid=(selectmax(id)frompp_ppcmain)然后在企业管理器中对数据表pp_ppcmain恢复主键信息,即设置id字段为主键,并设置为标识种子,递增变量为1即可。2、问题的避免:a.使升级前所有的采购计划执行完毕;b.升级后新增预测单等等,执行新的MRP运算即可。
|
|