日期:2014-05-16  浏览次数:21161 次

求助MRP需求运算方法
库存
编码         库存数量
02011             6

订单需求                                                     生产未完成
订单号     编码   用量     需求日期               计划号   编码     未完成数量     完成日期
01           02011     4         2007-05-05             A01     02011             1               2007-04-30
02           02011     8         2007-05-05             A02     02011             1               2007-05-05
03           02011   20         2007-05-08             A03     02011             5               2007-05-08

采购未回数量
申请号   编码     未完成数量     完成日期
PR01       02011           2               2007-05-05

需求运算结果
订单号     编码   需求用量     需求日期
02           02011         4             2007-05-05
03           02011         15           2007-05-08

求助高手,这个运算代码怎么写,在此先谢谢合位了



------解决方案--------------------
用sql语句返回结果集
select a.订单号 ,a.编码,a.用量-b.未完成数量-c.未完成数量 as 需求用量,需求日期 from 订单需求 a join 生产未完成 b on a.编码=b.编码 and a.需求日期=b.完成日期 left join 采购未回数量 c on a.编码=c.编码 and a.需求日期=c.完成日期
用vb调用结果集
------解决方案--------------------
03 02011 15 2007-05-08
怎样得出的?

------解决方案--------------------
TRY:
select *,
ABS(IIF(用量+XJ> 0,
XJ+(SELECT SUM(未完成数量) FROM SC WHERE C.编码=编码 AND A.需求日期> =完成日期)+
(SELECT SUM(未完成数量) FROM CG WHERE C.编码=编码 AND A.需求日期> =完成日期)
,用量-
(SELECT SUM(未完成数量) FROM SC WHERE C.编码=编码 AND A.需求日期=完成日期)
))
from (
SELECT a.*,b.库存数量-(select sum(用量) from dd where a.编码=编码 and a.需求日期> =需求日期
and a.订单号> =订单号) as xj from dd a
inner join kc b
on a.编码=b.编码
order by a.订单号) C
where xj <0

CG:采购未回数量
KC:库存
DD:订单需求
SC:生产未完成