初步探讨自动重订货点与自动安全库存计算
从本篇博文开始,我们将要探讨的是SAP系统中的自动重订货点(Automatic Reorder Point)功能(MRP类型“VM”),并将一并分析物料安全库存的自动计算(Automatic Safety Stock)。
重订货点法(Reorder Point)是物料需求计算的一种重要方式,与通常意义上的MRP方式不同,重订货点法属于基于消耗计算物料供给的方法。其基本的指导思想是,补货元素的生成与物料需求不直接相关,而是以当前库存作为最重要的参照指标。通过周期性的库存检查,每当库存水平低于预设的采购触发线(即重订货点)之后,系统就会自动生成对应的补货元素,将库存水平补充到重订货点水平之上。而在这次补货完成之前,企业仍然可以使用当前剩余库存来满足日常需求。
基于重订货点法产生的补货,无法做到精确对应于需求元素,更无法适应精益生产理论,将库存水平降到最低。但由于这种方法易于实现、易于理解、简单可靠,尤其适用于单位价值较低,且日常消耗频繁而稳定的物料。
然而,虽然这种方法实现起来很简单,不需要计划员在日常运行过程中做过多的分析与调整,但我们仍然不可避免地遇到这样的一个问题--重订货点到底设置在什么水平最合适?
这绝对不是一个简单的问题,若想由计划部门提供一个可靠的重订货点水平往往非常困难。重订货点设置得过低,则这种频繁消耗的物料稍微遇到需求波动就会面临断货的风险(尽管价值低,可一旦断货照样会中断整个供应链);而如果重订货点设置得过高,则由此带来的问题就是大量占用库存资金,导致没有必要的库存被存放在仓库里。
怎么办呢?其实对于每个实施了SAP系统的企业而言,设置重订货点无非就是以下两种方法:
其一:手动重订货点(拍脑袋决定??)。不管计划部门采取什么方法,总之最后敲定一个重订货点出来,直接将其分配给物料主数据。此方法简单易行,大约有100%的企业采用这种方法进行重订货点的维护。而这种重订货点维护方式不在本博客的探讨与分析范围内。
其二:自动重订货点。顾名思义,我们把计算重订货点的工作交给系统来完成。在维护物料主数据时,我们不维护重订货点,而是由系统自动推算之后,再自动将重订货点分配给相应的物料主数据。此方法看上去也比较“简单易行”,大约有0%的企业采用这种方法进行重订货点的维护。
本博客接下去所要描述的,就是所谓的自动重订货点法。我们将会通过一个实际的测试案例,讲述自动重订货点法的运行步骤、原理、运算逻辑以及后台配置。我们将会介绍自动重订货点的运算公式,并通过该公式推导重订货点的计算方法,看看SAP系统究竟是怎样计算出重订货点的合理值的。
除此之外,在进行自动重订货点计算的同时,SAP系统还在这里面附加了一个额外的功能,即自动安全库存。在前面的博文中,我们已经探讨过安全库存的含义及其用途。在一般情况下,一种物料的安全库存值也是由用户手动维护的,但SAP系统提供了自动计算最佳安全库存值的方法,这一方法及其运算公式我们将在推导重订货点的同时一并讲解。
在正式开始我们的案例测试之前,有以下几点需要特别说明:
1)我们将要介绍的是自动重订货点以及自动安全库存的应用方法与运算逻辑,包括其公式构成与公式参数。但我们将不会从纯数学的角度去推导公式的来源与其理论依据。如果需要搞清楚计算公式是怎么来的,我们还需要查阅相应的学术文献。
2)出于简化测试、突出重点的需要,我们将采用最基本的趋势模型作为预测模型使用。其中的平滑因子α和趋势因子β都直接取自默认值(0.2和0.1)
3)我们将要介绍的功能包括了自动安全库存计算。但大家一定要注意将这个功能与我们之前曾经专门探讨过的动态安全库存(Dynamic Safety Stock)功能区分开。这两种功能完全基于不同的运算逻辑,且业务本质也有不同。动态安全库存功能的计算依据是未来需求,其实质在于既定周期的需求保障,已经不同于传统的安全库存概念;而自动安全库存计算则完全在运行逻辑上等同于传统的安全库存概念,只不过安全库存值由系统自动算出而已。且自动安全库存的计算依据为历史消耗,而非未来需求。
4)从功能上讲,自动重订货点计算与自动安全库存计算可以是两个完全独立的功能。我们可以选择性地应用其中的任何一个,或者二者都用。但在一般情况下,自动安全库存计算是自动重订货点计算的基础,重订货点是在安全库存的基础上推算出来的。所以我们将这两个知识点合在一个博文系列里进行讲解。但事实上,这两者究竟哪个自动、哪个手动,完全可以随意定制。
在前面的中,已经简要介绍了自动重订货点与自动安全库存在物料计划功能中的含义。接下来, 就通过具体测试案例对这个功能的应用进行分析。 第一步:在后台配置当中定义
MRP类型“VM”。其具体路径为(生产→MRP→主数据→检查MRP类型),如下图所示:
事实上,“VM”是SAP系统默认提供的,用于自动重订货点的MRP类型。直接使用这个MRP类型,并不需要任何的配置工作。但是为了从本质上理解这个MRP类型的特别之处,还是特意在后台配置中对这个MRP类型进行分析。
通过上图的展示,很容易就会发现这个MRP类型的本质特征:
1)“MRP进程”(MRP procedure)字段:“VM”在这个字段上的值是“B”,这就从本质上决定了这是个基于重订货点的MRP类型。其特点是系统在一般情况下不会依据需求元素产生供给元素,而是根据当前的库存水平来触发补货。
2)“预测标识符”(Forecast ind.)字段:“VM”在这个字段上的值是“+”,即“强制预测”。这说明了凡是分配了MRP类型“VM”的物料,都必须同时激活预测功能。因为预测功能的运行是自动重订货点计算的前提条件,因此不激活预测,重订货点功能就无从谈起了。
3)“安全库存”(Safety stock)字段:这个字段被选中,意味着系统将在运行预测程序的同时,自动为相应的物料计算最佳安全库存值。
4)“重订货点”(Reorder point)字段:这个字段被选中,意味着系统将在运行预测程序的同时,自动为相应的物料计算最佳重订货点。
通过这四个字段的选择,得出的结论有以下几点:
其一:“自动重订货点”只是“重订货点”的一种罢了。除了重订货点值由系统自动运算得出之外,其他功能特性与手动重订货点法没有任何区别。
其二:系统是通过预测(Forecast)功能来计算重订货点的。这就意味着需要为物料维护预测视图、预测公式参数以及足量的历史数据。而基于历史数据推算最佳重订货点与安全库存的方法,注定与基于计划独立需求(PIR)推算未来安全库存的动态安全库存法存在本质不同。
其三:标准的自动重订货点法,已经包含了自动安全库存运算功能。但可以在上图界面中自定义是否分别激活这两种自动计算。可以只算重订货点,也可以只算安全库存,可以两者都算,也可以两者都不算。
第二步:使用事务代码MM01,创建测试用物料主数据(物料号VMT01),并查看其MRP1视图,如下图所示:
可以看到在上图中,将标准的MRP类型“VM”分配给了物料主数据。同时没有给物料分配重订货点(空置“重订货点”字段)。当使用手动重订货点法的时候,系统将会强制给物料分配重订货点。但对于MRP类型“VM”而言,由于系统将会自动计算这个值,因此就可以空着“重订货点”字段不填了。
接下来,查看测试物料的MRP2视图,如下图所示:
看到,该测试物料是一个自制件(不是外购件)。针对这个自制件,在物料主数据上维护了它的“自制生产时间”字段,长度为3天(即3个工作日)。这三个工作日将被作为该测试物料的补货提前期使用。
需要注意的是,如果使用自动重订货点或者自动安全库存计算,都必须为相应的物料在物料主数据中维护其补货提前期。 公式一:
对于自制件而言:补货提前期=未清期间(来自于计划边际码)+ 自制生产时间+ 收货处理时间 公式二:
对于外购件而言:补货提前期= 采购活动处理时间(来自于工厂参数)+ 交货时间+收货处理时间 接下来,注意到在上图中,没有为相应的物料维护“安全库存”字段,这是因为已经在MRP类型中启用了自动安全库存计算。
同时,还为测试物料主数据维护了“服务级别”(Service level)字段,对应的值为“90%”。所谓“服务级别”,指的是在多大概率上,希望需求数量可以直接被库存数量满足(而不需要通过生产订单、采购订单等后续方式)。而这里维护的“90%”,就意味着对于测试物料而言,希望在90%的情况下,物料的库存数量大于等于需求数量。而在另外10%的情况出现时,可以接受通过临时组织生产(冒着各种供应链中断风险)的方式来满足供货。