问题现象: | 自制品已有工艺路线,但无工艺路线物料查询中还有记录,再增加一条工艺路线后,无工艺路线物料查询中才会没记录;删除自制品工艺路线后,无工艺路线物料查询中会出现两条记录。 |
问题原因: | |
解决方案: | 您好!此问题【经查看数据/测试】现做如下分析与答复: 【问题原因】物料表中记录重复,可能是由于实施工具多次导入引起并导致您所描述问题产生。 【解决方案】在物料表BAS_PART中删除多余记录使其唯一,并删除其相关数据。参考以下脚本决策: SELECT A.InvCode , A.PartId , /*A.Free1, A.Free2, A.Free3, A.Free4, A.Free5, A.Free6, A.Free7, A.Free8, A.Free9, A.Free10, A.SafeQty, A.MinQty, A.MulQty, A.FixQty, A.bVirtual, A.DrawCode, A.Ufts, A.LLC, A.cBasEngineerFigNo, A.fBasMaxSupply, A.iSurenessType, A.iDateType, A.iDateSum, A.iDynamicSurenessType, A.iBestrowSum, A.iPercentumSum, */ (CASE WHEN B.BSelf = 1 THEN 3 WHEN B.BSelf = 0 AND B.bProxyForeign = 1 THEN 2 WHEN B.BSelf = 0 AND B.BPurchase = 1 THEN 1 WHEN B.bPlanInv = 1 THEN 7 END) AS InvMrpAttr,'' as BOM,'' as Routing into #t FROM dbo.bas_part AS A INNER JOIN dbo.Inventory AS B ON A.InvCode = B.cInvCode WHERE (A.InvCode IN (SELECT InvCode FROM dbo.bas_part AS bas_part_1 GROUP BY InvCode HAVING (COUNT(InvCode) > 1))) and (CASE WHEN B.BSelf = 1 THEN 3 WHEN B.BSelf = 0 AND B.bProxyForeign = 1 THEN 2 WHEN B.BSelf = 0 AND B.BPurchase = 1 THEN 1 WHEN B.bPlanInv = 1 THEN 7 END) = 3 order by InvCode,PartId update #t set BOM = 'Y' WHERE (InvCode IN (SELECT InvCode FROM dbo.bas_part AS bas_part_1 GROUP BY InvCode HAVING (COUNT(InvCode) > 1))) and InvMrpAttr = 3 --order by InvCode,PartId and PartId in (select ParentId from bom_parent) update #t set Routing='Y' WHERE (InvCode IN (SELECT InvCode FROM dbo.bas_part AS bas_part_1 GROUP BY InvCode HAVING (COUNT(InvCode) > 1))) and InvMrpAttr = 3 --order by InvCode,PartId --and A.PartId not in (select ParentId from bom_parent) and PartId in (select PartId from sfc_proutingpart ) select * from #t where InvMrpAttr=3 如有问题请及时反馈, |
相关补丁: | |
版本: | U8 V10.0 |
模块: | 基础档案 |
产品: | 公共平台 |
问题名称: | 自制品已有工艺路线,但无工艺路线物料查询中还有记录 |
最后更新: | 2011-10-19 23:17:25 |