1月入库10 2月入库10 3月入库 10 4月出库15 库存剩余15
按照先进先出算法,1月呆滞为0,2月呆滞5 3月呆滞10 。
也就是说,出库首先冲销1月的10个,再冲销2月5个。
入1 + 入2 + 入3 -出 = 库存。这个是恒等式。
变换下
入1-出= 库存-入2-入3 得到1月呆滞。2月和3月呆滞都为入库数
如果 出>入1 那么1月呆滞为0,2月呆滞 = 库存-入2-入3
如果出 >入1+入2 那么 3月的呆滞数= 库存数
下面SAP 的代码
gt_mseg1 是入库数
menge1 是30天内
menge2 是60天内 以此类推
LOOP AT gt_mseg1 INTO gs_mseg1 WHERE matnr = wa_item-matnr AND lgort = wa_item-lgort .
p_data = sy-datum - gs_mseg1-budat_mkpf.
IF p_data < 31.
wa_item-menge1 = wa_item-menge1 + gs_mseg1-menge.
IF wa_item-menge1 > wa_item-lbkum.
wa_item-menge1 = wa_item-lbkum ."- wa_item-menge2 - wa_item-menge3 - wa_item-menge4 - wa_item-menge5 - wa_item-menge7 .
ENDIF.
ENDIF.
IF p_data >