上一章讲了计划运行的5大步骤中的前两步,计算净需求和计算批量大小。
SAP PP学习笔记30 - 计划运行的步骤1 - Net requirements calculation 计算净需求(主要讲了安全库存要素),Lot-size calculation 计算批量大小-CSDN博客
本章继续讲计划运行的后面几步。主要讲下面这些内容
- Scheduling(日程计算)
- Backward/Forward Scheduling for In-House Production(倒推/正推)
- Availability date:有效日期(物料有效日期,即处于可随时交货状态)
- Order finish date:订单完成时间
订单完成之后,进入 收货处理时间(Goods receipt processing time),比如FQC 质检时间
- Order start date:订单开始时间
订单开始之后,进入 生产时间
- Opening date:开放日期
- Scheduling for External Procurement(外部调达中的调度)
- Delivery date(交货日期 /Order finish date)
- Processing time for Purchasing(采购处理时间)
- Plnd delivery time(供应商的采购提前期)
- Release date(Order start date)
- Scheduling in Production Planning(生产订单中的调度)
- Basic Scheduling
- Lead Time Scheduling
- Changing Dependent Requirement Dates(修改需求日期)
- 物料主数据中的Lead Time(即 安全时间)
- BOM的Lead Time Offset(提前期偏置量)
- BOM Explosion(BOM展开)
- BOM usage BOM用途
- Alternative BOM 替代/多重BOM
- BOM status BOM 状态
- Component selection 组件选择
- Dependent reqmts quantities and dates 相关需求的数量和日期
下面是详细内容。
1,Steps in the Planning Run (计划运行的步骤)
计划运行的有如下5个步骤:
- Net requirements calculation 计算净需求
- Lot-size calculation 计算批量大小
- Procurement type 调达类型(采购/or 生产)
- Scheduling 日程计算(什么时候应该进来,什么时候不应该进来)
- BOM Explosion BOM展开
这里主要讲Scheduling 日程计算。
2,Scheduling 日程计算
生产订单中的日期推算有2种方式,倒推和正推,最常用的是倒推。
如果倒推发现推到过去日期了,就会采用正推再推一遍。
2-1,Backward/Forward Scheduling for In-House Production
1),Backward Scheduling for In-House Production(倒推)
生产订单经常采用从后到前这种 倒推的方式来计算各计划订单的日期
Planned order:计划订单
- Availability date:有效日期
- Order finish date:订单完成时间
订单完成之后,进入 收货处理时间(Goods receipt processing time),比如FQC 质检时间
- Order start date:订单开始时间
订单开始之后,进入 生产时间
- Opening date
订单开单之后,进入 Opening period。计划订单不是立刻就能转生产订单的,而是有个提前期
这个Opening period就是告诉咱们计划订单转为生产订单之前的所需准备时间。
如果没有这个提前期,生产订单提前太多转为生产订单的话,可能会产生什么问题呢?
- 首先计划订单转为生产订单就像一个指令一样,指示说这个东西不会再动了,已经确认过了
那么下面就可以着手去做生产准备
- 这个时候如果来工程变更单,就是订单有变更的话,就会很麻烦了
因为SAP认为已经是生产订单了,所以就不会再动了,那么你就得自己手工去处理
这样就会增加处理时间
所以不会随便去转计划订单的
那么到底该在什么时候转计划订单为生产订单呢?
这个跟主生产计划的计划时界有关系的,就是在计划时界之内的就可以转
SAP PP学习笔记13 - MPS(主生产计划 - Master Production Schedule)的目的,必要性,基本原则,哪些物料该跑MPS,需求时界,计划时界等_sap mps-CSDN博客
这个Opening period 的意思是告诉主生产计划员,时间已经落在这个绿色的区间之内了,该干活啦,应该要把计划订单转生产计划了。
具体该怎么批量转生产订单,就是 CO41
- CO41 计划手配的一括变换
- 开放日(未清日期 Opening date)
生产计划员可以输入这个开放日,
然后把落在输入开放日区间内的计划订单抽出来转为生产订单
2),Forward Scheduling for In-House Production(正推)
有时也会采取从前到后正推的方式计算。
最常用的时机就是发现倒推的结果推到过去了,那么SAP就会自动的将Order start date设为今天,然后采取从前到后正推的方式去推算其真实的可用日期。
有一个例外,就是生产起始日期如果设置为可以为过去日期的话,系统就不会再去正推了。
a),生产起始日期为过去日期
Spro > 生产计划/管理 > 资材所要量计划 > Plant Parameter
点一下 指图开始(过去日付)
勾上 指图开始(过去日付) 就表示倒推计算出来的订单开始日期为过去日期是被允许的
这种情况下,即使算出来订单开始日期在过去,系统也不会采取从前到后正推的方式再次计算
2-2,Scheduling for External Procurement(外部调达中的调度)
外部调达的时候该如何计算采购申请的时间呢?
就是采取到推(Backward)的方法。
- Delivery date(交货日期 /Order finish date)
订单结束日期
- Plnd delivery time(计划交货日期 / 或Lead time 采购提前期)
比如Delivery date是 30号,而采购提前期为10天,那么最迟在20号就要把单子给供应商了
这个就是采购提前期
- Processing time for Purchasing(采购处理时间)
这个时间用作采购订单生成之后,到确定之前的处理时间,一般是订单的内部审批时间
比如采购处理时间是2天,那么如果20号要把单子给供应商,那么18号之前就要生成订单
即Release date至少为18号的意思,然后找领导签名,这样才能赶上20号发给供应商
- Release date(Order start date)
订单开始日期
上文中的【Processing time for Purchasing(采购处理时间)】是可以在Customize中设定的。
a),Customize - Processing time for Purchasing
Spro > 生产计划/管理 > 资材所要量计划 > Plant Parameter
- 外部调达(外部采购)
- 购买处理时间( Processing time for Purchasing(采购处理时间) )
- 1日:表示购买处理需要1天时间(一般来说是指订单的内部审批时间)
上文中的 Plnd delivery time(或Lead time 采购提前期)也是可以在Customize中设定的。
b),Plnd delivery time(供应商的采购提前期)
有下面3个地方记录供应商的提前期:SAP会按照1,2,3的顺序来找,找不到才会找下一个
-1 Agreement or info record 信息记录
-2 Vendor 供应商
-3 Material master 物料主数据
这里先说一下 3 Material master 物料主数据 里面的设置:
MRP 2 tab > 纳入予定日数
比如这里的 10日
2-3,Scheduling in Production Planning(生产订单中的调度)
对应到MRP运行画面(MD02)
a),Basic Scheduling
= 1 - 使用基准日程作成计划手配
- Exact to the day:精确到天
- Improved performance:执行很快
- No calculation of capacity requirements:不考虑产能
b),Lead Time Scheduling
= 2 - Lead Time日程计划以及能力计划
- Exact to the second:精确到秒
- 执行很慢
- Capacity requirement calculated:计算产能
c),注意点
- 如果要用 1 - 使用基准日程作成计划手配,
那么就要在跑MRP之前先用CA96/CA97把工艺路线中的内部生产日时数据给更新到物料主数据中
Basic Scheduling之所以快,其原因之一就是不用再重新计算工艺路线中的内部生产日时数据了
具体做法可以参照下面文章中任意一个策略的学习
SAP PP学习笔记20 - 复习总结一下MTS,MTO,ATO的各种生产策略_mto mts计划类型有哪些-CSDN博客
参考:或者参考一下如下截图
CA97 更新品目Master
勾上 品目Master的直接更新,以更新成品生产时间到物料主数据中。
就是更新了品目Master 作业计划 Tab的 内部生产日数
下面通过两张图示来说明一下 Basic Scheduling 和 Lead Time Scheduling。
d),Order Dates for Basic Scheduling(计算在Basic调度中的订单日期)
这也是采取倒推的方式计算的。
比如下图这里有3个物料,成品(Product)+半成品(Assembly)+原材料(Raw material)
- 成品的Available(可用日期)倒推 OF(订单完成日期)
右端蓝色部分是 Goods Receipt processing time,可以理解为FQC(质检)时间
- 成品的OS(Order start date)至少需要和半成品的Available重合
- 半成品也有Goods Receipt processing time(同样可以理解为FQC)
- 原材料的OS(Order start date)可以理解为采购开始日期
- 所有物料的OD(Opening date)可以理解为准备日期(比如审核等准备工作)
e),Lead Time Scheduling(计算在Lead Time调度中的订单日期)
因为有产后产前缓冲时间,以及要计算产能,所以计算内容和Basic调度方式是不同的。
- OF(Order finish date订单结束日期)
- Float after production(产后缓冲,可以认为是退料等处理时间)
- Production finish date(生产完成日期)
- 因为考虑产能,所以会重新计算工艺路线中的时间
也因为会读取重新计算工艺路线,所以即使物料主数据中的内部生产日时数据不对也不影响计算
- Production start date:根据产能倒推出生产开始日期
- Float before production:产前缓冲(可以理解为发料领料时间)
- OS(Order start date):经过上面的倒推计算,就能算出了订单开始日期
这个产前产后缓冲是在哪里设定的呢?
- 日程计划余裕Key(计划边际码)
- 001
- 开放期间:010(表示10天)
- 制造后余裕:001 (1天,产后缓冲)
- 制造前余裕:002 (2天,产前缓冲)
- 承认期间:005(5天)
这个边际码既对应了 Lead Time Scheduling,又对应了 Basic Scheduling。
- Lead Time Scheduling:使用这两个栏位 - 制造后余裕,制造前余裕
- Basic Scheduling:使用这两个栏位 - 开放期间,承认期间
工艺路线当中可以把各个物料分配给各个不同的工序,这个动作叫做投料。
这张图说明了假如有多个半成品投料到不同的工序,
那么可以根据每道工序的开始时间计算各半成品的投料时间。
比如 下图的半成品2就不需要和半成品1有相同的投料时间,原因就是
- 半成品2是投给工序30的,之前并不需要
- 工序30是靠后的,有可能是在半成品1投给工序10之后好几天,工序30才会开始工作,
即那个时候才需要投半成品2
所以说在工艺路线里面要把投料给做好,
后面具体生产的时候就会在合适的时间进对的料,而不会发生料进早了等情况。
2-4,Scheduling:Significance of In-house Production Time
上文 【1-5,Scheduling in Production Planning(生成订单中的调度)】里面说,
>
- 如果要用 1 - 使用基准日程作成计划手配,
那么就要在跑MRP之前先用CA96/CA97把工艺路线中的内部生产日时数据给更新到物料主数据中
但是,工艺路线是有可能中途修改的,就有可能导致物料主数据中的内部生产日时数据是旧的
当你发现日期有问题的时候(比如 Order start date > Production start date),
可以先去直接运行一下CA96/CA97,看一下是否能修正
如果用的是【2 - Lead Time日程计划以及能力计划】,则不会出现这个问题,因为到时候会重新读取工艺路线再做计算,而不会用物料主数据中的内部生产日时数据。
2-5,Changing Dependent Requirement Dates(修改需求日期)
有2种方式可以修改相关需求日期
- 物料主数据中的Lead Time(即 安全时间)
- BOM的Lead Time Offset(提前期偏置量)
其中
- 物料主数据中的Lead Time是针对该物料的所有订单的,影响范围较大
- BOM的提前偏置量是针对该物料使用该BOM的订单,影响范围较小
a),BOM提前期偏置量
在工艺路线的工序明细 > 基本Data tab
- Lead Time Offset(提前期偏置量)
该LT Offset可以为正,也可以为负数
- 正数:推后进来
- 负数:提前进来
b),安全时间
物料主数据 MRP 2 tab > 安全时间/实绩Cov(安全时间/作业覆盖):比如这里的 2 日
有关安全时间的详细可以参考如下文章
SAP PP学习笔记30 - 计划运行的步骤1 - Net requirements calculation 计算净需求(主要讲了安全库存要素),Lot-size calculation 计算批量大小-CSDN博客
3,BOM Explosion( BOM展开 )
- BOM usage BOM用途
比如 1 - 生产,2 - 设计 等
- Alternative BOM 替代/多重BOM
比如按Lot 1-100 BOM1、101-200 BOM2
- BOM status BOM 状态
比如 01 - 有效,02 - 无效 等
- Component selection 组件选择
指的是BOM中设置某个料在跑MRP的时候展开还是不展开
比如 勾上生产相关 就展开,不勾上生产相关 就不展开
- Dependent reqmts quantities and dates 相关需求的数量和日期
下面来一个一个看这些选项。
3-1,BOM usage(BOM用途)
BOM用途:BOM按用途分类的
- 1 - 生产
- 2 - 设计..
注意上面的BOM作成画面是手工选择的,只是举例而已。
BOM展开的时候会根据 Selection ID(选择ID)来进行选择,这里会涉及到优先顺位的问题。
如下图所示,选择BOM用途的时候,
- 会先看 1 - Production 的BOM,如果存在就选择完成,
- 如果不存在,则会按照优先顺序,比如接着会看 2 - Engineering 的BOM
上图中的优先顺序是可以在Customize中设定的。
Spro > 生产计划/管理 > 基本Data > 补品表/配合表 / 代替决定
BOM用途的优先顺位
比如 SelID 为01 的有3个选项,按这里的设定将会按照 1- 生产,3 - 统括,2 - 设计 顺序进行查找
- 01 / 1 / 1 - 生产
- 01 / 2 / 3 - 统括
- 01 / 3 / 2 - 设计
这个选择ID 是在哪里设定的呢?
就是在 指图Type 的Customize里面,具体可以参照如下文章
所以说建生产订单(指图)的时候,选择的那个指图Type,就已经决定了BOM展开用的选择ID了
SAP PP学习笔记24 - 生产订单(制造指图)的创建_bom application pp01-CSDN博客
参考:我摘抄一部分过来如下
Spro > 生产计划/管理 > 指图管理 > MasterData > 指图
指图Type依存Parameter(定义订单类型相关的参数)
那么 BOM Application又是怎么定义的呢?
Spro > 生产计划/管理 > 基本Data > 部品表/配合表 > 替代决定
Application
Application:PP01
- Selection ID:01
它的选择优先顺序是 1-生产 / 2-统括 / 3-设计
3-2,Alternative BOM 替代/多重BOM
替代BOM的选择,其选择方法也是有3种的
- Order quantity:根据数量进行选择
这个最为常见,一般也是默认的,比如 1-100个选BOM1,101-500个选BOM2
- Explosion date:根据日期进行选择
- Production version:跟随生产版本进行选择
a),BOM展开/从属所要量 选择方法
具体采用哪种BOM展开方法是在物料主数据中进行设置的。
物料主数据 > MRP 4 tab
- 选择方法 栏位
- 空白 - 根据手配数量进行选择(由订单数量选择)
- 1 - 根据展开日付进行选择
- 2 - 根据制造Version进行选择
- 3 - 只根据制造Version进行选择
下面来一个一个说一下这些BOM的选择方法。
b),空白 - 根据手配数量进行选择
比如这里有2个BOM
- 0 - 10 PC的选 BOM1
- 11 - 10000 PC的选BOM2
c),1 - 按展开日期进行选择
在Customize会设定,到底会根据哪个日期进行选择
- Order start date:计划订单中的订单开始日期
- Order finish date:计划订单中的订单结束日期
- BOM explosion number(gross date):订单展开号(毛日期,即固定的日期)
这个其实就是一个固定日期,就是设定一个毛日期,然后全部展开到那一天的
具体采用哪种方式又会在Customize里面进行设置。
Spro > 生产计划/管理 > 资材所要量计划 > MRP Group
MRP Group
输入
- Plant:1000
- MRP Group:0031
参考:MRP Group:0031 是哪儿来的呢?
就算在 物料主数据 > MRP 1 tab
- MRP Group 栏位
回到Customize设定
点 BOM展开
展开日
- 空白 根据Plant Parameter决定
- 1 - 基准开始日(基本开始日)
- 2 - 基准终了日(基本完成日)
- 3 - BOM展开番号 / 指图开始日 (BOM展开号/订单开始日期)
优先按BOM展开号,找不到的话,就会按指图开始日找
- 4 - BOM展开番号 / 指图终了日 (BOM展开号/订单完成日期)
优先按BOM展开号,找不到的话,就会按指图终了日找
如下图所示
- Selection by Order Start
注意蓝色条条指示了BOM的有效期
- Order1
- 开始日在 BOM1的开始终了日区间内
- 终了日在 BOM2的开始终了日区间内
- Order2
- 开始日在 BOM2的开始终了日区间内
- 终了日在 BOM3的开始终了日区间内
这样的话,对Order1来说,如果选择
- 1 - 基准开始日,则会展开BOM1
- 2 - 基准终了日,则会展开BOM2
Order2 也是类似的,如果选择
- 1 - 基准开始日,则会展开BOM2
- 2 - 基准终了日,则会展开BOM3
d),BOM展开番号
SAP Menu > Logistics > 生产 > MRP > Master > BOM展开号
MDSP
MDSP - BOM展开番号的更新
直接点 执行可以先显示既存数据
这里有1条,A这条展开号,它的意思是用固定的 1996-06-01 的BOM去展开
- BOM展开号 A
- 固定Key日期:1996-06-01
点 新规Entry,然后就可以输入BOM展开番号 数据,保存即可
如果在 MRP Group里面设置 BOM展开为3 - BOM展开番号 / 指图开始日 or 4 - BOM展开番号 /指图终了日 的话,
以后再展开物料 100-710-F20的话,就只会展开该BOM展开号 的 固定Key日付 所对应的BOM
比如这里就会展开 2024-07-24 的BOM
参考:MRP Group里面设置 BOM展开
e),2 - 根据制造Version进行选择 / 3 - 只根据制造Version进行选择
制造Version(生产版本) 里面也会包含
- BOM
- 工艺路线
2 和 3 的区别是
- 2 - 根据制造Version进行选择:
优先以制造Version方式,如果没找到制造Version还可以选择其他方式,比如按数量,按日期等
- 3 - 只根据制造Version进行选择
只根据制造Version方式,如果没找到制造Version就会出错的
3-3,BOM status (BOM 状态)
BOM Header里面有设置BOM 状态的
- 01 有效
- 02 无效...
3-4,Component selection 组件选择
BOM > 组件明细 > Status
- 生产关联
勾上表示展开BOM的时候作为对象
不勾上表示展开BOM的时候不作为对象
4,工艺路线的选择
这里在加一个工艺路线的选择 的内容。
工艺路线的选择方式和BOM类似。
这个参数好像不仅影响BOM的选择,
工艺路线也使用 选择方法 这个参数。
通过指图Type来设定 工艺路线(作业手顺)的 选择ID。
然后再贴一下这张图,Production Version里面有
- BOM
- Routing