业务背景:
当我们决定在系统里下销售订单、预留、生产订单等时,我们希望系统自动
检查并提示我们的物料在未来的需求日期是否可用。
SAP 系统提供两种类型的可用性检查:
场景1:在 IM 层面的检查(也叫静态可用性检查):
比较简单,系统自动进行可用性检查,无须任何的后台配置。比如:在
1000工厂 A001 库存地点有 100PC 的物料。这时你通过 migo goods issue
201 向一个成本中心发料 105PC 产品,系统会提示,还有5个库存不够。这
就是静态可用性检查。不考虑任何其它因素。
场景2:动态检查
在 MRP 层面的检查(也叫动态可用性检查):除了考虑实际存在的库存数量外,
还会从物料需求计划是的角度来考虑预计划的收货和发货。
这是对库存的考虑,可以看出有:①安全库存、②在途库存、③质检库存、④
冻结库存、⑤非限制使用库存、⑥外包库存等。
对预计划的收货、发货的考虑,可以看出有:①采购订单、②采购申请、③相
关需求、④预留、⑤独立需求、⑥SD 提货单、⑦货运通知单、⑧基于订单的
预留、⑨库存传输订单、⑩计划订单、⑾生产订单等。
非常值得注意的是,4跟8的差异。4一般指手工预留而8是指由
订单,系统自动产生的预留。
哪么,动态可用性检查在系统到低是什么样的逻辑呢?需要说明的是可用性检查可以应用到
许多的不同的模块,比如对于销售订单的可用性检查,对生产订单的可用性查。对于预留的
可用性检查等等,我们用对预留的可用性检查来了解其逻辑。
配置路径:
1,移动类型
- 检查规则
- 定义检查规则
此处注意:不管是新建还是复制,新定义的可用性检查组 后面的参数都是默认“总计销售=A”“总交货需求=A”“冻结需求传默认勾选”此三处修改不了。继续下面测试,看效果
此图中的值在上述有解释
- 事务代码
- 接下来进行前台数据模拟测试
数据准备:物料G0120030,计划交货时间6天
可用性检查:分配上述定义的可用性检查组
步骤1)库存如图:日期:20200619的静态库存
步骤2)建预留单,单号19,需求日期20200621
步骤3)建立PO,数量50,需求日期2020.06.25(系统自动根据预计交货日期带出)
步骤4)再次建立预留 需求时间2020.06.20 数量30,系统报错
因为20200620可用库存=当前库存20200619库存100-20200621预留需求80=20<30
步骤5)再次建立预留 需求时间2020.06.26 数量30,系统OK
因为考虑了补货提前期,20200626的可用库存=100-80+50=70>30
补充测试:
把不含补货提前期勾选
再在20200626建立需求,系统报错如下: