查看原文
其他

库存及批次属性在排产中的应用

Edison Edison的SAP实践与修行 2023-04-15

接续前面生产排产的记录: 

  1. 共享能力在排产中的应用

  2. 订单关系在排产中的应用

  3. 优先级在排产中的应用

再记录一下,在排产过程中,“库存及批次属性”对排产的影响以及APO  PP/DS在这方面的实际应用。


排产,从业务的角度来看,其终极目标,就是为了合理地、科学地且高效地填平“需求与供应间的差异”。

基于此,系统排产,其技术原理大体过程如下图所示:

一般而言,企业为了商品快速的周转、呆滞库存的减少、按库生产模式的执行等原因,在排产时,需要尽量先消耗当前的库存。也就是说,对于系统而言,开启“系统排产”的技术上的第一步就是“净需求的计算”,即将现有的“供应”与“需求”首先进行一次相互消耗,从而将原始的“毛需求”通过系统排产的第一步转变成了“净需求”(当然,“净需求计算”并不完全等同于“供应与需求做一次初始抵消”,其仅仅只是“净需求计算”中的最简单的一种类型),最后由“净需求”再去触发真正的“补货”(自制的产品开始触发生产排产;外购的产品开始触发采购)。



如先前记录中所言,“需求”来源多种多样,有销售订单的、有交货单的、有调拨的、有预测的、有BOM展开的相关需求的等等。而“供应”,则总归只有那么几种,一般也就“库存”与“在产或在途”这两大形式。

“在产或在途”代表着已下单或正在执行但还未收货入库的制造(如计划订单、生产订单等)及采购(如采购订单,计划协议等),这一块相对来说,它们是一种“灵活”的供应且一般挂着其本身的原始需求,还不算固定的“供应”,除了特别的要求外,其可作为“通用型选手”去满足需求。

但“库存”,特别是有批次管理的物料,以不同的批次存在于系统中,是作为已经固定的“供应”,然后,在“毛需求向净需求”转化的过程中,就具有如下的一些特点及要求:

首先从技术上来说,比如在SAP ERP中,库存本身是有分类的,比如“非限制使用Un-restricted-used”、“质检库存Quality-in”、“冻结库存Blocked”等等,在排产系统如APO里,也就相应地需要根据业务需求进行配置调整,例如是否“质检库存”甚至“冻结库存”可以视为“可用库存”即直接用于上述说到的排产的“净需求计算”中等等; 

其次,在现实的生活中,不同库存类型的应用倒还是其次,更多的是“某一类型库存的排产应用”,例如经常在各个企业看到的“非限制使用库存”在某些库位(比如“呆滞库”、“可疑库”等,经常称之为“MRP外库存地点”)、或者具有某些批次属性就不可用于“净需求计算”。还有更多的如下类似的业务场景及排产需求:

  • 某些销售需求,要求就是不能去消耗历史库存,必须要全部“新产”的产品。换句话说,外部例如客户下的或者销售下的“毛需求”就是“净需求”。在排产过程中,即使当前产品有库存,也不使用。

  • 需求,在一些应用上也是有条件的,常见于一些定制化的、及批次化的产品。例如光伏、化工行业的产成品是有批次管理的,不同批次的产品,物料号是一样的,但是批次属性却是不一样的,比如像光伏组件功率260千瓦与270千瓦、接线盒型号不同等、以及化工成品的不同标签、托盘形式等。那么,当然在匹配现有“供应”(如库存)时需要考虑“需求”的属性要求,比如在某事业部的化工间歇式排产(Ref: 化工间歇式生产的一点总结)中,内贸需求时就要求“只有标签、托盘相同或可匹配”的情况下才能先用库存去抵消得到“净需求”。

  • 相似的情况,在现实过程中,“需求”可能发生变化,比如在可接收的排产周期(Ref: 关于计划流程的理论)内或业务接受的情况下,原先的功率、标签托盘等的要求发生变化,那么就需要排产时,首先去掉原先的“库存分配”,再重要做“库存分配”计算净需求触发或取消生产。

  • 。。。

以上归根到底说明了,在做排产时,不能简单地将“库存”视为“通用型选手”先去抵消掉“需求”。



当然从业务上来说,也有办法可以办到“库存不作为通用型供应”,比如采取纯粹的“按单生产MTO”模式,那么“库存”在未“自有化”前,都是“有主的库存”,即专为某一张销售订单/客户需求而储备的库存,那么当然其他任何需求都无法去抵消这里的库存。

但是,如果是“按库生产MTS”模式(比如MTO模式可能带来大量的“转单E转E”操作),就只是在“净需求计算”时要考虑批次属性,比如上面举到到那些例子,那么就需要“排产系统去技术解决”了。

APO PP/DS解决方案中,MTS的库存或者说批次,在默认标准状态下,其是作为“通用型的供应”,所以为了满足特定的“净需求计算”需求,需要相应的做出一些系统增强或逻辑改变。

以下是一种较简单的可实践的方式。

(1)首先,需要使用PP/DS的标准功能,将库存如批次在ERPAPO中进行同步,并使APO系统识别批次属性;

这里的“号”(实梁)即是该批次的排产要用到的“批次属性”。

(2)其次,需要增强PP/DS系统,将需求的属性从ERP系统传入到APO。在某些启用了可配置物料的行业,比如整车Auto,一般使用“配置”(Ref: 整车配置是怎么来的?都是来自SO吗?)即可将销售需求的属性(例如哪种车型、哪种颜色、哪种选装包等)自动地通过VC或CDP传入到APO。但其他行业,比如没有可配置物料的化工,其需求的属性(例如哪种标签、哪种托盘等)没有标准的功能来快速传入到APO,所以就需要系统增强完成:

“交货”代表着需求,其“托盘”、“标签”、“是否消耗库存”即从ERP通过增强的方式传入APO

(3)然后,规划PP/DS计划过程,在做“净需求计算”之前,借鉴并利用PP/DS的固定追溯Fixing-pegging功能,可以先人为地做一次“库存与需求的分配”,在这里,即可将自有的逻辑,比如这里的例子(若不消耗库存,则完全不做Fixing-pegging;而若消耗库存,则标签、托盘必须相等的条件下才能pegging),告知PP/DS系统如何在”Fixing-pegging”

(4)最后,在真正执行PP/DS生产计划时,为了让系统的“净需求计算”考虑前一步的“人为分配”,可以依据“库存”与“需求”的Fixing-pegging动态地调整“库存”与“需求”,例如为了使多余的库存(比如当前库存大于具有相同批次属性的需求)不被其他需求(具有不同的标签、托盘要求)再使用,通过此告知PP/DS这部分多余的库存已不可用等等。



总而言之,在不同行业、不同企业、不同业务场景下,排产过程从“需求端”到“供应端”的E2E整体流程上,每一步都可能有不一样的业务需求,比如本篇记录的“净需求计算”。

APO PP/DS作为一款强大的生产排产工具,无论从操作上、背后的算法上,抑或是可扩展的增强配置上,都提供了相当多的功能和便利,来面对现实生活中的各式各样、千奇百怪的应用需求。





您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存