问题现象: | u870+sp3 补丁,SQL2005数据库,客户在查询库龄分析表时,使用点余额的方式,发现有很多物料,早就 在几年前就已经出库完毕,2012年度早没有结存数了,但是在库龄分析(点余额)查询时仍然能够带出来!跨年库龄分析脚本已经打上了!实例:存货编码:0101025 批次:20071200,存货代码:1000*101000 ,此物料就是这种情况。因客户急着要向总部报账,要求我们尽快解决!请总部同仁尽快处理!有不明白的地方请与本人联系!数据将在2月15日中午左右上传完毕,请中午以后再解压缩吧!数据包名:常州分公司_任毛毛_U870_SQL2005_库存管理.rar [2012-2-17 13:00:43 补充] 数据已经重新上传,烦请总部尽快处理!!谢谢!数据包名:常州分公司_任毛毛_U870_SQL2005_库存管理1.rar |
问题原因: | |
解决方案: | 您好,已就该问题与一线任先生电话沟通,此问题【经查看用户数据】现做如下分析与答复: 【问题原因】 根据所描述的存货例子,检查用户数据发现问题原因是由于此前2007年转到2008年后库存期初进行过调整导致。 如存货编码:0101025 批次:20071200,在07年有结存三笔:43.5、341、10100 而2008年库存期初只有一笔341,且在当前年度出空,因此该存货对应批次无结存 【处理方案】 --经沟通建议一线与用户方面确认后,若以2012年现存量为准,可通过比对之前年度转下来的库龄单据进行相关处理。 --先在2012年执行整理现存量的脚本 exec dbo.SP_ClearCurrentStock_ST --之后根据以当前现存量的结存匹配之前年度结转单据,确认是否需要删除 select * from Pre_rdrecord join Pre_rdrecords on Pre_rdrecord.id=Pre_rdrecords.id join (select prerd.* from ( select cwhcode,cinvcode,isnull(cbatch,'')cbatch, isnull(cfree1,'')cfree1,isnull(cFree2,'')cFree2, isnull(cFree3,'')cFree3,isnull(cfree4,'')cfree4 from Pre_rdrecord join Pre_rdrecords on Pre_rdrecord.id=Pre_rdrecords.id) prerd left join (select cwhcode,cinvcode,isnull(cbatch,'')cbatch, isnull(cfree1,'')cfree1,isnull(cFree2,'')cFree2, isnull(cFree3,'')cFree3,isnull(cfree4,'')cfree4 from currentstock )cur on prerd.cwhcode=cur.cwhcode and prerd.cinvcode=cur.cinvcode and prerd.cbatch=cur.cbatch and prerd.cfree1=cur.cfree1 and prerd.cfree2=cur.cfree2 and prerd.cfree3=cur.cfree3 and prerd.cfree4=cur.cfree4 where cur.cwhcode is null)a on Pre_rdrecord.cwhcode=a.cwhcode and Pre_rdrecords.cinvcode=a.cinvcode and isnull(Pre_rdrecords.cbatch,'')=a.cbatch and isnull(Pre_rdrecords.cfree1,'')=a.cfree1 and isnull(Pre_rdrecords.cfree2,'')=a.cFree2 and isnull(Pre_rdrecords.cfree3,'')=a.cfree3 and isnull(Pre_rdrecords.cfree4,'')=a.cfree4 --若删除可执行如下脚本: select Pre_rdrecord.id,autoid into prerd from Pre_rdrecord join Pre_rdrecords on Pre_rdrecord.id=Pre_rdrecords.id join (select prerd.* from ( select cwhcode,cinvcode,isnull(cbatch,'')cbatch, isnull(cfree1,'')cfree1,isnull(cFree2,'')cFree2, isnull(cFree3,'')cFree3,isnull(cfree4,'')cfree4 from Pre_rdrecord join Pre_rdrecords on Pre_rdrecord.id=Pre_rdrecords.id) prerd left join (select cwhcode,cinvcode,isnull(cbatch,'')cbatch, isnull(cfree1,'')cfree1,isnull(cFree2,'')cFree2, isnull(cFree3,'')cFree3,isnull(cfree4,'')cfree4 from currentstock )cur on prerd.cwhcode=cur.cwhcode and prerd.cinvcode=cur.cinvcode and prerd.cbatch=cur.cbatch and prerd.cfree1=cur.cfree1 and prerd.cfree2=cur.cfree2 and prerd.cfree3=cur.cfree3 and prerd.cfree4=cur.cfree4 where cur.cwhcode is null)a on Pre_rdrecord.cwhcode=a.cwhcode and Pre_rdrecords.cinvcode=a.cinvcode and isnull(Pre_rdrecords.cbatch,'')=a.cbatch and isnull(Pre_rdrecords.cfree1,'')=a.cfree1 and isnull(Pre_rdrecords.cfree2,'')=a.cFree2 and isnull(Pre_rdrecords.cfree3,'')=a.cfree3 and isnull(Pre_rdrecords.cfree4,'')=a.cfree4 delete from Pre_rdrecords where autoid in(select autoid from prerd) delete from Pre_rdrecord where id in(select id from prerd) drop table prerd 【注意事项】修改前请务必做好数据备份;可在测试环境下先行引入用户数据后执行脚本测试验证 |
相关补丁: | |
版本: | 8.70sp |
模块: | 库存管理 |
产品: | 供应链 |
问题名称: | 870库龄分析与现存量不一致 |
最后更新: | 2012-02-21 17:37:41 |