本文,我们将在未配置批次情况下,直接从SAP ERP 6.0取数进行库存账龄管理报表开发,而不是通过excel工作表上进行计算。
作为前提,此案例将使用FIFO方法进行账龄管理。因此,我们先使用事务代码:MB5B来获取特定日期的库存值和数量。
MB5B的工作方式
MB5B通过倒转通常的库存计算公式来计算特定日期的库存
期末余额=期初余额+入–出
当前库存通过保存在表MBEW上的LBKUM字段得知,而MBEW-SALK3上的值以及物料凭证中的输入和输出是已知的,因此我们只剩下一个未知变量“期初库存”,该变量等于“较早日期的库存”。所以库存计算公式是
较早日期的库存=期末余额(当前库存)–入+出
库存账龄报表概述了从选定关键日期开始的一段时间内从相反时间顺序开始的一段时间内可用物料库存的分配情况。
例如,特定物料在选定的关键日期可能有100个PCS的库存。可以在6到12个月之间以及12个月之前以2批分别50和50的价格购买该库存。该物料可能尚未消耗掉,没有作为不动产存放在库存中。
该报告旨在提供在不同时期(称为“桶”)展现的此类库存分布的详细信息。
通过隔离和分析此类物料,财务和采购团队将能够以有效的方式计划和管理库存。
新库存账龄报表逻辑与常规使用的自定义账龄报表有何不同
新的账龄报告中使用的逻辑的简要概述
该报告主要进行三项活动。
计算选定关键日期的物料库存。
根据选择屏幕上给出的输入,动态地得出一个月内,两个月内……之类的时间段,也就是一个月之内的库存。
计算不同时段内物料的库存,到达上一步,并输出报告。
工作的详细逻辑
请参考输入屏幕。
输入工厂/物料类型和关键日期后,将提取所选工厂和物料类型中的有效物料。
带圆圈的(红色)字段表示要分析的时间段。
时间间隔定义非常灵活,用户可以根据需要进行更换。
(出于更好的结果和实际原因,建议将关键日期设置为上个月的最后一天,并在当月的第一周执行报告。这是为了获得最佳效果,改进MBEWH表的工作逻辑,其中库存为 仅在当月月末更新。)
对于上面输入的时间段和关键日期组合,系统自动派生的账龄结果如下所示:
时间段数月从年/期间到年期间
1 1 个月内2019 / 112019 / 12
2 1 到 2 月2019 / 102019 / 11
3 2 到 3 月2019 / 092019 / 10
4 3 到 6 月2019 / 062019 / 09
5 6 到 12 月2018 / 122019 / 06
6大于 12 个月2018 / 12
在关键日期的物料库存的计算:
注意:示例中的公司代码使用4月到3月作为会计年度期间。
将物料/工厂(bwkey)字段传递到MBEW表并获取会计年度和期间。
基于表MBEW的物料的年/期间为2020/01,给定的关键日期的年/期(31.03.20)为2019/12。
如果在MBEW表中获取的年份/期间大于关键日期年份/期间,我们需要通过将相应的关键日期年份/期间传递到MBEWH表中来获取关键日期的库存,并从LBKUM字段中获取库存。
如果在MBEW表中获取的年/期间小于或等于关键日期的年/期间,则从MBEW表的LBKUM字段中获取物料的库存。在这种情况下,这是关键日期库存。
3.构建每个会计年度缺少期间的库存明细
请注意以下屏幕截图。
2019会计年度的期间12有一条记录。2019年其他期间没有任何条目。类似地,在2018会计年度,仅列出12、11、10、6、5的期间库存。
在缺少的年份/期间中建立库存明细的逻辑如下:
未列出的年份/期间中的库存与缺少时间段之上的即刻可用/列出的年份/期间的库存相同。
如果我们采用2017年,则我们在第10和第12期都有库存,但是缺少第11期的详细信息。
根据以上逻辑,期间11中的库存只是紧接在11之上的即刻可用周期中的库存,即12期间库存,即18,219.00。
注意:2017年11月为18.02.18,2017年12月为31.03.18。
物料的库存(31.03.18):
物料的库存(28.02.18):
为系统在步骤1中自动确定的期间建立库存明细。
4.建立时间段库存(the bucket stock)信息。
使用以下逻辑填充时间段中的库存物料。
时间段从年 / 期间到年期间时间段库存推导
12019 / 112019 / 12Stock in period 2019/12 – stock in period 2019/11
22019 / 102019 / 11Stock in period 2019/11 – stock in period 2019/10
32019 / 092019 / 10Stock in period 2019/10 – stock in period 2019/09
42019 / 062019 / 09(Stock in period 2019/09 – stock in period 2019/08) + (Stock in period 2019/08 – stock in period 2019/07) + (Stock in period 2019/07- stock in period 2019/06).
52018 / 122019 / 06(Stock in period 2019/06 – stock in period 2019/05) + (Stock in period 2019/05 – stock in period 2019/04) + (Stock in period 2019/04- stock in period 2019/03) +
(stock in period 2019/03 – stock in period 2019/02)+
(Stock in period 2019/02 – stock in period 2019/01)+
(Stock in period 2019/01 – stock in period 2018/12).
62018 / 12
Stock in period 2018/12.
例如,此处2018/12期间的库存是指2018/12年底的库存。
用标准事务代码 MB5B检查上述逻辑。
假设我们输入物料的时间段月份为24、48、54、72、96。
时间段库存详细信息如下。
时间段数月从年 / 期间到年期间
1 24 个月内2017 / 122019 / 12
2 24 到 48 月2015 / 122017 / 12
3 48 到 54 月2015 / 062015 / 12
4 54 到 72 月2013 / 122015 / 06
5 72 到 96 月2011 /122013 /12
6大于 96 个月2011 / 12
将年/期间信息转换为日期。
时间段1:2017/12 – 31.3.18 2019/12 – 31.3.20
时间段2:2015/12 – 31.3.16 2017/12 – 31.3.18
时间段3:2015/06 – 30.9.15 2015/12 – 31.3.16
时间段4:2013/12 – 31.3.14 2015/06 – 30.09.15
时间段5:2011/12 – 31.3.12 2013/12 – 31.3.14
对于时间段6,采用2011/11 – 31.3.12的库存。
获得的账龄报表输出为:
在同一时期内将以上报告与标准事务代码 MB5B进行比较:
根据报告的关键日期31.3.20的库存量:19319。
根据事务代码 MB5B的库存。
时间段1的库存比较:
期间1:时间段1:2017/12 – 31.3.18至2019/12 – 31.3.20
注意:在计算时间段库存时,必须考虑MB5B中该期间内总收货与发货之间的差额。
每个报告的库存量:1100。
MB5B的库存:(1100 = 1100 -0)/(总收货–总发货)。
时间段2的库存比较:
时间段2:2015/12 – 31.3.16至2017/12 – 31.3.18
根据报告库存量:150。
根据MB5B:(150 = 180 – 30)
时间段3库存比较:
时间段3:2015/06 – 30.9.15至2015/12 – 31.3.16
根据报告库存量:14846.5
按照MB5B:(14846.5 = 14850.5 – 4)
时间段4库存比较:
时间段4:2013/12 – 31.3.14至2015/06 – 30.09.15
根据报告库存量:3222.5
按照MB5B的库存:(3222.5 = 6958.5 – 3736)
时间段5库存比较:
第5个时间段:2011/12 – 31.3.12至2013/12 – 31.3.14
根据报告库存量:0
根据MB5B的库存:0。
时间段6库存比较:
时间段6在2011年11月11日至12月31日的库存。
根据报告库存量:0。
按照MB5B的库存:0
时段存货的总和与关键日期的存货相匹配。
总结
我们看到了如何使用评估的库存表MBEW / MBEWH的组合以非常简单的方式检查物料是缓慢移动,快速移动还是不移动的物品。
根据我使用MKPF / MSEG表开发此报告的经验,通常这是准确性与性能的问题。如果需要更高的精度,则需要使用为物料执行的所有移动类型。但是,这样做会严重影响性能。
然而,这种新的逻辑弥合了差距,现在精度和性能都可以实现。
即使感觉使用MKPF / MSEG表有更多选择,但在我看来,该报告也仅给出了库存信息的概述,并且将需要进行实际钻取以对物料运动进行微观分析。
注意:使用MSEG / MKPF表的常用方法是获取从开始日期到关键日期的所有收货和发货。可以通过组合使用MARD / MARDH和最少使用MSEG表来调整此报表,以使其更灵活地在存储地点级别显示账龄,并具有几个存储时段。这将有助于开发准确,有效的库存和账龄报告。
对于处于存储地点级别的库存,还需要考虑未评估的移动类型。