上一章讲了 LTP(长期计划)的详细内容。
本章讲计划运行的相关知识。
1,Net requirements calculation 计算净需求
净需求的计算,有如下要素
- Sales orders 销售订单
- Plnd indep. reqmts 计划独立需求
- Dependent reqmts 相关需求
- Reservations 预留 等
- Stock 安全库存
其他要素有些在其他章讲了,咱们本章主要讲一下安全库存,安全库存有以下几种
- 普通的安全库存
- 安全库存的部分有效性
- 动态的安全库存
跟安全库存相关联的还有一个 Safety Time in Multi-Level Production(安全时间)的概念
- 安全时间指的是供应商交货提前期
2,Lot-Sizing Procedures 批量大小程序的计算
- Static Lot-Sizing Procedures:静态Lot大小程序
- EX :Lot-for-lot order quantity(exact to the day)
- FX :Fixed lot size
- HB :Replenish up to maximum stock level(补充到最大库存)
- Period Lot-Sizing Procedures:期间Lot大小程序
- TB - Daily lot size 按天
- WB - Weekly lot size 按周
- MB - Monthly lot size 按月
- Optimum Lot-Sizing Procedures:优化批量大小程序
- Long-Term Lot Size 长交期Lot设定
下面讲详细内容。
本章主要讲 Net requirements calculation 计算净需求 和 Lot-size calculation 计算批量大小。
1,Steps in the Planning Run (计划运行的步骤)
计划运行的有如下5个步骤:
- Net requirements calculation 计算净需求
- Lot-size calculation 计算批量大小
- Procurement type 调达类型(采购/or 生产)
- Scheduling 日程计算(什么时候应该进来,什么时候不应该进来)
- BOM Explosion BOM展开
s
2,Net requirements calculation 计算净需求
- Reqmts 需求 :在MD04 里面看到是负数的那些条目就是需求,比如如下这些都是需求
- Sales orders 销售订单
- Plnd indep. reqmts 计划独立需求
- Dependent reqmts 相关需求
- Reservations 预留...
参考:MD04 - 在库/所要量一览 画面的 入库/所要量 栏位 是负数的都是需求
左侧这里是与需求相对应的供给
- Lot size 还要考虑批量的大小,所以净需求与供给之和不一定等于0
比如批量为150个,净需求为120个,那么就会买150个,从而产生30个余量
- Fixed receipts:确定的收货
- Firm planned orders:确定的计划订单
- Firm purchase requisitions:确定的采购申请
就是说不确定的SAP不会考虑的
比如说
- SO(Sales Order) 100个: 100-
- PO(Purchase Order) 80个:80 (Fixed receipts)
- Planned Order:10个 (非确定计划订单)
- PR(Purchase Request):10个(采购申请,非确定收货)
那么,运行MRP的时候,
- 会先把 Planned Order(非确定计划订单)10个 和PR(非确定收货)10个 给删除
- 然后再根据 SO 100- + PO 80 ==》20- ,算出新的 Planned Order为 20-
2-1,Safety stock:安全库存
安全库存是为了满足及时的需要,在仓库里保持的一点库存
从而满足1 Day or 2 Day的应急性的库存
安全库存也有几种算法,咱们来一个一个看看。
1),Safety Stock 安全库存
这种就是当库存(红柱)低于安全库存(虚线)时就会触发采购,采购量为到达安全库存(黄柱)
来看一下SAP上的操作。
a),MM01 - 100-710-F20 成品
- 安全在库 50
b),MD04 在库/所要量一览
- 安全在库 :50-
c),MD41 运行MRP
d),MD04 在库/所要量一览
产生了一个计划手配(计划订单),这样就补齐了安全库存
2),Safety Stock Partially Available(安全库存的部分有效性)
- 库存(红柱)低于安全库存(上面的虚线)时并不会立即触发采购订单
- 只有当安全库存低于某一个百分比时(下面的虚线),才会触发采购
- 一旦触发采购,其采购量就会补齐全部的安全库存(上面的虚线)
- 安全库存的部分有效性是在MRP Group里面设置的
a),MRP Group
这里设置了 0031
- 0031 根据受注生产进行的Lot别生产
b),MRP Group Customize
Spro > 生产计划/管理 > 资材所要量计划 > MRP Group
综合设定:MRP Group
输入
- Plant:1000
点更新按钮
输入
- MRP Group:0031
点更新
点 安全在库
这个栏位说明了安全库存的可用比例,比如设为
- 安全库存分割:60
即安全库存可用量为60%
- 库存不低于60%的安全库存就不会触发采购
- 只有用掉了60%以上的安全库存才会触发采购
c),MB1C 设初期在库为6个
为了便于理解,我把品目 100-710-F20 的安全在库设为10 个
然后回到MD04,刷新看到已经变为想要的状态
MD41 运行MRP 之后,回到MD04
发现没有任何变化,没有触发采购
d),MB1C 继续减少库存为4个
MD04 在库/所要量一览
刷新一下,已经是想要的状态
运行MD41,然后再回到MD04
发现并没有什么变化
e),MB1C 继续减少库存为3个
MD04 在库/所要量一览
刷新一下,已经是想要的状态
运行MD41,然后再回到MD04
发现已经触发采购
采购数量为7个,这样7+3=10个(安全库存的全部)
f),总结一下
上面那条虚线是100%(即10个)
下面那条虚线是100%-60% =40%(即4个)
再来贴一下这个Customize
- 安全在库分割:60
意思是可以使用到60%的部分而不会触发采购
就咱们测试品目 100-710-F20 来说,安全在库设为10个,
即可以使用10 x 60%=6个(剩余4个)而不会触发采购
如果继续使用,比如再用1个,则超过了可以使用范围,则会触发采购
g),重订货点和安全库存同时使用会怎样?
首先是可以同时使用的。
但是如下图所示,一般来说,重订货点的线在安全库存的上方,
这就意味着库存会先到达重订货点,然后就会立刻触发采购/生产,然后库存上升,
即大概率很难达到安全库存的那条线,安全库存设置形同虚设。
3),Dynamic Safety Stock(动态安全库存)
这就是个理论知识,好像很难测试出来效果的
现实项目中也很少有用到的,咱们就了解一下就行了
SAP里面设置3个库存
- Maximum stock:最大库存
- Target stock:目标库存
- Minimum stock:最小库存
判断的原理是
- 当库存小于 Minimum stock,系统就会触发采购/生产,补充库存到 Target stock
- 当库存大于 Maximum stock的时候,系统会给你一个错误Message
那么系统是如何计算安全库存呢?
它是根据历史记录,按Day进行计算的
a),Customize中参数文件设定
来看一下Customize
Spro > 生产计划/管理 > 资材所要量计划 > 计划 > MRP计算
在库日数Profile(动态安全在库)
比如 Plant 1000,里面设定了3个Profile(参数文件)
- 001
- 002
- 003
双击任意一个参数文件,比如001
给他填上一些数据好说明
- 平均所要量决定(确定平均需求)
- 期间数:3 (这就是日数,即3天)
- 期间长Type:3 - 标准日数(好像就是自然日)。另外还有 1 - 稼动日(工作日)/ 2 - 日历日数
- 每个期间的日数:20
这个区域的用途就是计算期间数(比如3天)的平均所要量
比如Day1 - 5个,Day2 - 10个,Day3 - 15个,则这3天的平均所要量就是10个
- 第一期间的在库日数 (在第一期间中的覆盖范围)
- 最小:1
计算的是 1 x 平均所要量决定区域计算出来的平均值(比如 1 x 10 = 10个)
- 目标:5
计算的是 5 x 平均所要量决定区域计算出来的平均值(比如 5 x 10 = 50个)
- 最大:10
计算的是 10 x 平均所要量决定区域计算出来的平均值(比如 10 x 10 = 100个)
- 期间:3(单位是月)**参照 期间区分
这个意思是说这3个月里都是按3天为单位按上述算法进行计算的
如果对标到下图的话,这里
- Maximum stock:最大库存 ==》100
- Target stock:目标库存 ==》50
- Minimum stock:最小库存 ==》10
如果对标到这个图的话
- Period 1 ==》就是 第一期间的在库日数 区域
- 里面也有最小/目标/最大库存
b),物料主数据中设定该参数文件
- 在库日数Profile(供货天数参数文件):001
然后在物料主数据的 附件数据 > 消费 tab里面有显示
- 第2期间的在库日数 (在第2期间中的覆盖范围)
- 满足 10 天的目标库存
- 其他剩余期间的在库日数
还可以根据不同日期来设置最小/目标/最大在库日数
这就是这里 Period1,2,3,4的意思
2-2,Safety Time in Multi-Level Production(安全时间)
Safety Time(安全时间)指的是提前一定时间,以防意外。可以在成品/组件Level设置
- Finished product:成品
- Components:组件
- Period Profile for the Safety time
安全时间可以设定期间参数文件,意思是可以在不同的期间设置不同的安全时间
1),物料主数据 MRP 2 tab
- 安全时间/实绩Cov(安全时间/作业覆盖):2 日
2),安全时间 期间Profile(安全时间参数文件)
安全时间/实绩Cov(安全时间/作业覆盖) 是一个固定值,
如果想在某一个期间是一个值,在另一个期间是另一个值,那么就要使用 安全时间参数文件。
Customize
Spro > 生产计划/管理 > 资材所要量计划 > 计划 > MRP计算
比如 Plant 1000 / 期间Profile 001
双击 开始期间/终了期间,这样就可以输入开始期间/终了期间,以及该期间的安全时间,比如
- 2024-08-01 ~ 2024-12-31:3 Days
- 2025-01-01 ~ 2025-12-31:2 Days
其他没有输入的区间,其安全时间认为是0
安全时间%:这个是不足1天的时候用的
比如 2.2 Days,那就是 安全时间 栏位为2,安全时间(%)为20
回到物料主数据,选择
- 安全时间 期间Profile:001
这样就设置好了安全时间 期间Profile了。
它的用途是在跑完MRP之后,会有一个Requirement Date,然后如果落在设定的期间范围内,则会提前所设定的日期。
3),安全时间区分
- 空白:不考虑安全时间
不考虑安全时间
- 1 - 独立所要量的安全时间
只考虑独立计划需求
- 2 - 全所要量的安全时间
全都考虑
这是个开关
- 如果选了1,2,则会应用到相应的需求上面
- 如果选了空白,即使你设置了安全时间也没用的
1-2,Lot-Sizing Procedures 批量程序
批量分为3种:现实当中,S,P用的相对多一些,O用得少一些
- Static procedures:静态分批处理程序
一直保持不变
- Period procedures:期间批量大小程序
某一段区间里面的批量大小
- Optimum procedures:最优批量程序
专门有一个公式,会考虑库存价值,运输价值 等等很多因素
比如买1车,每个15块,买2车,每个12块等等很多经济因素
1),Static procedures:静态分批处理程序
- Lot-for-lot:批对批,也就是说要多少来多少
就是 【EX:Lot-for-lot 手配量】
- Fixed-lot-size:就是每批都是固定的数量
就是 【FX:固定数量归纳】
比如每批150个,如果要买300个,也是150个,150个,分两次买
2),Period procedures:期间批量大小程序
把某一个期间内的需求合并成一张批量需求(计划订单/采购申请等)
- Daily lot size
按天合并,不一定是1天,也可以是2天,3天,...都可以设定
- Weekly lot size
按周合并,比如1周,2周,3周,...
- Monthly lot size
按月合并,比如1个月,2个月,3个月,...
3),BOM中的Lot 和物料主数据中的Lot的区别
BOM当中也有一个批量的概念,和物料Master中的批量的概念有什么区别呢?
在BOM当中的批量,比如
- BOM1 :1-100个
- BOM2:101-200个
它的意思是说
- 那么假如生产 100个以内,比如80个,则会直接使用BOM1
- 假如生产 101-200个,比如130个,则会直接使用BOM2
而物料主数据当中的Lot,它的含义是,
当产生需求之后去买东西的时候,是怎么买的货,比如
- 需要多少就买多少等
- 把几天/周/月给合并来买
- 固定数量采购...
4),Lot的Customize
Spro > 生产计划/管理 > 资材所要量计划 > 计划 > Lot Size计算
Lot归纳方式(批量检查过程)
点MRP Lot Size 按钮
双击 EX
- MB - 月次Lot归纳
a),期间数
- 1 - 跟 Lot size区分 栏位配合使用(比如这里选 M - 月次所要量,表示单位是 月)
这个1 表示是1个月合并在一起
如果填2,3,那么就表示2 或3个月的合并在一起
b),Lot size区分(批量标识)
- M - 月次所要量
c),纳入日程计划
这个也是要配合 Lot size区分 栏位一起使用的 (比如选 M - 月次所要量)
- 空白 - 所要日(需求日期) = 纳入期日(交货日期)
- 1 - 期间开始 = 纳入期日
期间开始就是月的开始,即月1号交货
- 2 - 期间终了 = 纳入期日
期间终了就是月的终了,就是月31号(或30号,29号,28号什么的)交货
- 3 - 期间开始 = 开始及期间终了 = 纳入期日
期间开始(即计划订单日期为月1号);交货日期为月终了日
- 4 - 期间开始 = 开始日
期间开始(即计划订单日期为月1号)
如果是按周的话,那么上述各Option就是周开始日(即周一)。
d),最终Lot 登录济(最后批量需求)
FX - 固定数量归纳
这个最终Lot登录济 的意思是最后一个Lot数量不是满数量,而是恰好满足需求的数量。
- 比如订单数量为100个,而Lot设定为30,如果选 FX - 固定数量归纳 的话,
那么将会产生 30,30,30,30 总数为120个,这样就超过了订单数量100个
- 如果勾上了 最终Lot登录济 选项
那么将会产生 30,30,30,10 这些订单,一共100个,恰好满足需求。
e),计划日历
这个日历的用途之一是可以变换周/月开始日为除了第一日的其他日期(比如周三)
那么周的顺序就变成了 周3,4,5,6,7,1,2
这个东西有什么用呢?
因为有些公司的周一或月初比较忙,所以他们不希望周一或月初收货
而按照上面的【纳入日程计划】栏位,只能是周初或月初收货,
那么就可以通过 计划日历 来改变周初或月初为其他日期,比如上面的周3为周的第一天,
那么就可以周3收货。
比如这里的 001 - 指的是 周2 为周的开始日
但是注意一点,如果想使用【计划日历】栏位,不能使用 FX - 固定数量归纳
而需要使用 PK - 用计划Calendar来归纳期间Lot(根据计划日历的期间批量)
物料主数据
- Lot size:PK
f),总结一下流程
- WB 周次Lot归纳
这个Lot size的采购方式是怎么计算的呢?
a),Lot 归纳方式
首先要看是选的静态还是区间/(或最适的)
这里选的是 P - 期间Lot归纳(期间批量大小程式)
b),Lot size区分
既然 Lot归纳方式 选了 P - 期间Lot归纳,那么到底是什么样的期间呢?
比如这里选 W - 周次归纳
c),期间数
- 1 - 1 Week , 即1周的合计
如果想合计2周的,就填2即可
再换一个别的Option看一下:
- TB - 日次Lot归纳
a),Lot归纳方式:P - 期间Lot归纳
b),Lot size区分:T 日次归纳
c),期间数:5,即5日合计在一起
d),纳入日程计划
然后就说到了具体什么时候交货(纳入)。
就是所产生计划订单的开始/结束日期 和 选定的期间的开始/结束日期 的匹配。
就是 A,B,C,D的排列组合那样的。AC,AD,BC,BD。
- A - 选定的期间的开始
- B - 选定的期间的终了
与
- C - 计划订单的开始
- D - 计划订单的结束
具体比如
- 空白 - 所要日(需求日期) = 纳入期日(交货日期)(D)
像这种不去匹配开始日,可能开始日是系统自己去计算的吧
- 1 - 期间开始(A) = 纳入期日(D)
期间开始就是月的开始,即月1号交货
- 2 - 期间终了(B) = 纳入期日(D)
期间终了就是月的终了,就是月31号(或30号,29号,28号什么的)交货
- 3 - 期间开始(A) = 开始(C)及期间终了(B) = 纳入期日(D)
期间开始(即计划订单日期为月1号);交货日期为月终了日
- 4 - 期间开始(A) = 开始日(C)
期间开始(即计划订单日期为月1号)
g),长期期间的Lot size
这块是说长期计划(LTP)使用Lot size功能的设定。
h),Lot size SOP
- 空白 - Lot for lot指图数量(直接按批订货量)
- 1 - Lot for lot 指图数量(取整处理)(含取整的分批)
- 2 - Lot size(短期)(短期计划中的批量)
如果是按订单生产,发现批量大小有问题的时候,可能是这个参数设置的有问题。
总结一下 Lot-Sizing Procedures。
5),Static Lot-Sizing Procedures
- EX - Lot-for-lot order quantity(exact to the day)
这种就是需要多少就买多少
- FX - Fixed lot size
这种就是固定买这么多,比如固定size是150个的话
- 要100个会买150个
- 要200个就会买150,150,一共买300个
- HB - Replenish up to maximum stock level(补充到最大库存)
大部分用的都是 EX 和 FX,HB用得很少。
6),Period Lot-Sizing Procedures(期间Lot大小程序)
就是把多少个 天/周/月 合并在一起
- TB - Daily lot size 按天
- WB - Weekly lot size 按周
- MB - Monthly lot size 按月
7),Optimum Lot-Sizing Procedures(优化批量大小程序)
这是个经济学理论,专门有一门课来讲如何做一个优化批量。
专门有一个公式,考虑很多因素,用来计算出来一个它认为的最优批量:
比如如下这些因素
- 运货成本
- 最小库存成本
- 货仓管理成本
- 送货成本...
8),Long-Term Lot Size 长交期Lot设定
- Short-term 短交期可能会采取 FX/EX 这种,需要多少就买多少
- Lont-term 长交期的目的是做方案,不会按单分析,而是做总体分析的
所以不会立刻进行Lot计算,而会把一个周期内,比如一个月内的Lot 给合计起来
- 长期期间的Lot size Area