MRP与PP和MM模块十分相关,这里只说明与物料主数据有关的MRP内容和一些简单的配置和介绍。
一、MRP&MPS
1、MRP
MRP是SAP中用于物料需求和库存管理的工具,目的是计算出在生产过程中所需的物料、零部件和组件,并确保这些物料按时到位,以满足生产需求。
TCODE:MD01,MD02,MD03,MD04,MD05,MD07,MDBT
2、MPS
MPS是生产计划的一部分,主要侧重于对最终产品的生产进行计划。它通常与MRP紧密相关,但其侧重点不同。
TCODE:MD40,MD41,MD42
3、两者的区别
MPS的侧重在于最终的成品,例如现在有笔销售订单是100辆车,还有一笔计划订单是50辆车,那么MPS的计算结果就是需求为150辆车,以此安排生产计划。而MRP侧重于生产过程中所使用的物料的需求,假设例子中的车都是4轮车,生产一辆车需要100颗螺丝,且库存都为0,那么MRP的结果就是得出需要150*4个轮子和150*100颗螺丝,并按照需求产生计划订单或采购申请(在有计划协议和货源清单的时候可以产生采购订单)。
两者存在区别,但MPS和MRP这两个模块实际上是相互协作的,MPS制定生产计划,而MRP确保生产所需的原材料能够按时供应。
后面具体介绍MRP有关的内容。
二、物料主数据与MRP
在创建物料的时候可以看到有物料需求计划1、2、3、4四个视图。其中的内容与物料运行MRP时候的处理有着紧密的关系,下面对于几个重要的字段进行介绍。
大部分与MRP有关的配置项都在路径:SAP 用户化实施指南->物料管理->基于消费的计划中,可以自己翻翻看。
1、MRP区域
MRP区域帮助你定义物料需求计划的具体范围,而不仅仅是按照工厂维度进行计算。它可以让你指定在不同的地点、存储位置或特殊区域内进行MRP的处理。不用每次都在工厂维度进行计算。
在物料的MRP1视图中可以看到物料的MRP区域。
配置
路径:SAP 用户化实施指南->物料管理->基于消费的计划->主数据->MRP 区域->定义工厂/存储地点的 MRP 范围
注意:在S4版本中是自动启用MRP的,所以对于工厂范围的MRP范围是自动产生的,并且会和工厂编号保持一致。所以需要创建的话请不要选择工厂类型的。
对于范围类型是02的MRP范围,可以对其指定存储地点,点击左侧分配存储地点可以添加更多存储地点。注意:一个MRP范围可以有一个工厂中的多个存储地点,但是一个存储地点只可以属于一个MRP范围。
2、MRP组
所有配置,只要是MRP组有关的配置,都是优先级最高的,会优先按照物料的MRP组的配置进行取值、处理、计算。
配置
路径:SAP 用户化实施指南->物料管理->基于消费的计划->MRP 组->执行 MRP 组的总体维护
TCODE:OPPZ
可以配置的信息如下,后面会提到部分配置
3、需求和供给
在学习MRP运算之前需要考虑需求从哪里来。常见的需求就是预留、销售订单、安全库存、相关需求、独立需求。因这些需求所产生对物料的需求所需要进行库存补充的结果就是MRP需要计算出来的。
供给有库存、计划订单、采购申请、采购订单、生产订单等等能够提供物料的方式。
4、MRP类型
MRP类型比较重要的有:
a、ND无计划
选择该类型表示该物料虽然有MRP视图,但是不参与MRP运算
b、PD物料需求计划
属于需求驱动的MRP类型,会按照需求进行MRP运算,达到供需平衡。
c、VB人工重订购点计划
属于基于消耗的MRP,在选择VB类型的时候,需要填写图中的重订货点数据。
重订货点 = 安全库存 + 提前交货期 * 日均消耗量
安全库存:为了应对需求波动或供应链不确定性,企业通常会设定一个安全库存量。安全库存是为了防止由于突发的需求增加或供应延迟,导致物料短缺。
提前交货期 × 日均消耗量:这是在交货时间内所需的物料数量。提前交货期就是交货所需的时间,日均消耗量就是生产所需物料一天的消耗量。例如,如果每天消耗10件物料,交货时间为5天,那么在这5天内总共需要50件物料。
后面介绍完批量确定程序之后一起演示PD和VB的区别,这两个类型也是企业中比较常用的两个。
配置
路径:SAP 用户化实施指南->物料管理->基于消费的计划->主数据->检查 MRP 类型
双击查看详情,一般是按照系统默认的,不要做更改
5、MRP控制员
类似于负责人,也是一种给物料分组的方法(推荐用于分组,负责人本身没什么实际意义),负责管理与该物料相关的MRP活动。在扩展MRP视图的时候必填。
6、批量确定程序
决定MRP运算的时候怎么和并需求,TB-日批量会按天来计算需求,注意这里的周批量和月批量都是按照自然周和自然月来进行计算的,不是按照7/30天数来划分的。其中常用的也有EX,直接按批次进行处理。
7、最小批量、最大批量、舍入值等
最小批量:单个计划订单/采购申请最少所需填写的数量(供应商说低于多少不进行交易)
最大批量:单个计划订单/采购申请最多可以填写的数量
固定批量:单个计划订单/采购申请只可以填写的数量,批量确定程序需要选择FX
舍入值:类似于四舍五入,单个计划订单/采购申请订购的填写数量必须为舍入值的整数倍
舍入参数文件:更加细致的舍入值规定,可以阶梯式指定舍入值
最大库存级别:库存中的数量最多可到达的数量,批量确定程序需要选择HB
其他的自行了解。
8、采购类型和特殊采购
F——外部采购:根据MRP的参数进行判断到底是产生采购申请还是计划订单
E——内部生产:MRP运行结果为计划订单(内部生产,无需采购)
X——两种采购类型:MRP运行结果为计划订单(计划订单为F和E两者通用)
注意,如果是E/X就算在运行MRP的时候选择产生采购申请,还是会按照规则产生本因产生的计划订单。
三、MRP运行
MRP的运行可能的结果如下所示。
其中计划订单可以转为采购申请或生产订单,采购申请可转为采购订单。
1、MRP运行参数
图中左上角显示单项,单层为MD03,后面会介绍几个运行MRP的事务码的区别。
a、处理代码
这里的标记是指在运行MRP之后对于运行后结果是否手动进行了改变,进行改变了的行项目会打上标记。标记可以通过MD21查看具体的物料。
改变前:
改变后:
1)NETCH 总区间的净更改
选择NETCH处理代码只会重新运算有标记的物料,避免重复运算
2)NEUPL 再生计划
选择NEUPL处理代码不会管标记,直接全部重新算
一般都选择NETCH减少计算量。
b、创建采购申请
虽然描述比较奇怪,但是是规定了MRP运行后产生的是计划订单还是采购申请还是未清期间的采购申请。如果选择未清期间的采购申请,只会对于未清期间的需求进行处理。
c、SA交货计划行
有三种选项:没有计划行、未清期间的计划行、计划行。
同上,未清期间是对于时间的约束。选择计划行的话若在MRP运行之前1、ME31L创建了物料的计划协议。2、ME01创建了货源清单并指定为图中所示02。则会在MRP运行之后生成采购订单而不是采购申请。
d、计划模式
分别在转生产订单的时候
1)按照MRP运行时的BOM计算
2)按照转生产订单时候的BOM计算
3)删除原来的记录,重新生成计划数据进行计算
后面还有一些配置项,在运行的时候说
2、PD&VB
前文提到了PD和VB,现在具体来看两者的区别,其中还涉及到了其他的配置和批量确定程序的影响,一起进行对比。注意后面的测试换了一个物料,不是前文中的物料了。
a、先创建一个预留需求 TCODE:MB21。也可以通过其他方法。
保存之后通过MD04查看(填写物料、MRP范围和工厂)。可以看到预留需要100个。现在库存为0个,当前的MRP类型为PD。
按照图中所示可以快速跳转至该物料的MM02修改其物料主数据。
因为需要常用到MD03事务码来运行MRP,我们将它添加到收藏夹。
完成点保存就可以了。出现在收藏夹栏。
b、VB
运行MRP之前的MD04显示如下。点击左上角标出的按钮可以展开详情,查看数据。
我们先按照上图的数据,类型为VB,重订货点为5个。运行MD03事务码。可以参照图中的设置。
填完之后按回车。运行后会返回MD04页面,点击左上角刷新。
由VB和再订货点一起得到了采购申请数量,只要是VB类型,不管你的需求是多少,他的采购申请计划订单都只会是再订货点的数量。并且只要库存低于再订货点就会产生计划订单/采购申请。
物料的采购类型是F——外购,因此产生的采购申请。注意这里的采购申请日期是25.3.17。是因为该物料的计划交货日期是20天。
MD21看物料的修改数据,可以看到没有修改标记。
这里我们改变预留的数量,双击行项目,点击笔。改成150个。
再去MD21看物料的数据,可以看到打上了修改标记。
修改物料的再订货点,此时返回可以看到行项目没有改变,那是因为我们需要再跑一次MRP,才会看到更新后的结果。
这个时候去看MD21是没有修改标记的,因为只会记录最新一次MRP运行之后是否对于需求进行了修改,不会管之前的。
按照双击点击笔的方法去修改采购申请的记录,改成申请11个,可以看到虽然是由再订货点来得到供给,但是可以手动修改。行项目后被打上*标记。MD21也打上了修改标记。
c、PD
删除之前MRP运行时产生的采购申请。双击,点击笔,选择行项目,点击删除,最后保存。
现在来看PD。
修改物料为PD、内部生产(E)。
增加一个预留需求 TCODE:MB21。
运行MRP。因为博主测试当天是25号,内部生产所需时间在物料主数据中填写的是1天,因此可以看到计划订单的时间。并且虽然在运行MRP的时候选择的是采购申请,但是因为物料是自制的,产生的也是计划订单。
d、总结
1)可以看到PD和VB最大的区别就是一个是按照需求进行的计算,而一个只看重订货点的数量不会管需求的。
2)如果是E(内部生产)/X(两种采购类型)的物料,那么不管在运行MRP的时候选择的什么,都是生成计划订单,不会产生采购申请,也就是运行时的这个选项只会对F(外部采购)类型的物料有效。
3、批量数据
之前的测试中批量确定程序都是选的EX并且对于后面的有关批量也没有进行演示,这里演示一下作用。按照之前的方法删除掉MRP运行产生的计划订单。
a、最小批次和最大批次大小
可以看到最后的数据要先满足150,但是最大批量是50,所以只能按照50来下单,后面还差20,但是最小批量是30所以只能下30的计划订单。并且和之前产生的计划订单不同,这里的计划订单都是同时下的,因为采用了周批量,将一周之类的需求进行了汇总处理。这里可能看的不太直观,再演示一个。
b、舍入值
这里我们演示更直观的周批量和舍入值。增加了一条3.20号的需求,显然和之前两条不在一周。
运行MRP之后的结果,可以看到虽然只要150/99个,但是需要进行舍入,所以按照200/100个进行下单。并且150和20两条预留因为在一个周所以是一起进行处理的。
c、与EX的对比
计划订单删除,舍入值也删掉,与EX进行对比,可以看到EX是一个需求产生一个计划订单。
4、特殊采购
我们这里将采购类型改成外购,这里将特殊采购改成10寄售。
查看运行后结果如下:
点击查看采购申请,可以看到行项目类别处填写了K。
配置
路径:SAP 用户化实施指南->物料管理->基于消费的计划->主数据->定义特殊采购类型
5、转采购订单/生产订单
双击行项目
计划订单也可以转采购申请。然后采购申请转采购订单。注意只有采购类型为E的计划订单才可以转这么多,不然只能转采购申请。
四、批量运行MRP
TCODE:MD07
可以看到可以按照MRP范围、工厂层级、或者MRP控制员、产品组等等来运行。这就是为什么说MRP控制员其实也可以理解为一个分组。
运行后界面
1、StckDS和首次RDS、2nd R
首先介绍一些时间怎么算的。
首先周末是默认不上班的,所以周末是不会消耗库存的,计算时不会考虑周末。
以库存可供天数举例。这里库存有10个(当前日期是26号)。首次需要预留是28号。其中27号是不会消耗库存的,所以有1天,然后10<150更不用跟150+20或者全体消耗比了,所以只用和150比,(只要和第一次无法满足需求的时候进行计算)。所以整体时间是由1+10/150≈1.1得来的。
再加点库存比一下。
现在库存有170个,能够满足2.28和3.3的需求,但是会刚好消耗完。
周末不算,直到20号之前都是没有消耗的,所以会按照图中标出的时间来计算。
再加库存,使得库存满足现在所有的需求,可以看到时间直接变成999.9了。
StckDS和首次RDS、2nd R
虽然翻译得很怪,可以理解为将所有的供给进行分组,是三种供给分组。和现在所有的需求进行对比,计算出能满足消耗需求的时间。计算方法在上面说明了。
我们查看分组信息。
配置
路径:SAP 用户化实施指南->物料管理->基于消费的计划->评估->定义日供应量接收的收据成分
选择对应的工厂双击。每一行都是一个供给来源,可以对它们进行处理。点击查看搜索帮助看选项,可以对来源参不参与计算、都参与还是参与某一个值的计算进行设置,按照企业具体的需求进行配置。计算就是在算某一个天数的时候把所有的来源求和再算时间。
2、异常信息
以图中标注的物料为例,可以看到在它行项目的异常处标注属于第三组的异常有1个,属于第7组的异常有6个。
异常组可以理解为将类似的异常分了组,可以对于该组中的物料统一进行报错/警告/忽略。
双击行项目去看详细信息。点看搜索帮助可以看到异常的信息和分组,最左侧一列是组号,然后是异常号和异常信息。可以看到异常15是属于第7组的,同时存在6条,所以计数6个。
配置
路径:SAP 用户化实施指南->物料管理->基于消费的计划->评估->例外信息->定义和分组意外信息
看到了异常15,双击查看配置信息
可以看到它的组是7。
3、指示灯
点击上方的定义指示灯可以对什么时候指示灯绿色什么时候黄色什么时候红色进行设置。
影响它们的列已经标出来了,红色框处可以设置时间范围。蓝色框可以设置在哪个组出现异常信息的时候出现红色警示。