《SAP后勤模块实施攻略—SAP在生产、采购、销售、物流中的应用》——第3章 MRP简介 3.1 MRP运行的简要说明

简介: 本节书摘来自华章计算机《SAP后勤模块实施攻略—SAP在生产、采购、销售、物流中的应用》一书中的第3章,第3.1节,作者 乐立骏,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

第3章 MRP简介

MRP(Material Requirement Planning,物料需求计划)是基于需求、供给、产品BOM结构等信息计算产生不同的获取建议(Procurement Proposal),在获取建议中包含应该在何时、采购(生产)何种物料、多少数量等各项信息,从而用来实现制造业库存管理目标,即在正确的时间按恰当的数量得到所需的物料。

本章将介绍下列内容:

image

3.1 MRP运行的简要说明

本节以一个例子简要说明MRP的运行过程,并解释MRP、MPS的关系、流程以及相应的系统操作。

3.1.1 MRP运行示例

image

产成品X包含1个半成品Y、1个原材料A,半成品Y包括1个原材料B,该产成品运行MRP,其过程如下。

1 . 产成品净需求计算(Calculates Net Requirements)

产成品X的需求、供给、库存情况如下:

image

运行MRP后,产成品的净需求等于毛需求减去供给(Receipts)再减去库存(Stock),并加上安全库存等于80个,因此系统将创建获取建议。

2 . 产成品获取建议的产生(Procurement Proposals)

获取建议的产生是MRP运行的最终结果,对产成品X来说,获取建议的确定过程如下。

(1)确定获取建议的获取类型

根据物料的获取类型,确定物料为自制生产,还是外购亦或是外包、寄售形式,在本例中,产成品设置为自制,因此将产生获取类型为自制的计划订单。

(2)确定获取建议的数量

根据净需求数量,并结合物料的批量类型、配额信息、报废率、取整等参数,系统确定出获取建议的数量。在本例中,设置批量类型(Lot Size)为Lot-For-Lot、未设置报废率(Scrap)、未设置取整参数(Rounding Profile)。

因此MRP运行后,将生成产成品X数量为80的计划订单。

3 . 产成品BOM展开、相关需求产生

系统首先确定产成品X的有效BOM,然后再确定该BOM所包含的有效项目,最后根据产成品需求产生的计划订单,进一步触发对半成品、原材料的相关需求(Dependent Requirement),具体步骤如下。

(1)确定产成品的有效BOM

一个产品可能有多个BOM,运行MRP时,系统根据产成品的物料主数据中指定的BOM展开标识(Select Method for Alternative Bills of Material),系统确定不同的展开方式,常见的展开方式如下:

1)根据计划订单中的计划生产日期确定有效的BOM;
2)根据计划订单中的计划生产数量确定有效的BOM;
3)根据生产版本确定有效的BOM:维护物料的生产版本(Production Version),在生产版本中指定物料的BOM,MRP运行时,如果某物料有多个生产版本,一般系统会选择有效的生产版本中编号最小的。

(2)确定有效的组件

产成品会使用到多个半成品/原材料/零件,这些组件(Component)将会维护到BOM中,作为BOM的项目(Item)。

在展开BOM时,注意组件特殊的获取方式。

1)若BOM中某组件标记为供应商提供的,则系统不会产生该物料的相关需求;
2)若BOM中某组件标记为虚拟件(Phantom),如某半成品标记为虚拟件,则一般来说系统将不会产生该半成品的相关需求和获取建议,而是直接产生半成品的下阶物料(原材料)的相关需求;
3)若BOM中某组件标记为替代、取代物料,此时也将产生取代、替代物料的相关需求。

(3)相关需求确定

在本例中,针对产成品X仅维护一个BOM,也没有设置BOM项目的特殊属性,因此将产生半成品物料Y的相关需求,数量为80个,以及原材料A的相关需求,数量为80个。

4 . 半成品Y的净需求计算

步骤同产成品的获取建议,在本例中,半成品无任何库存、供给,因此净需求为80个。

5 . 半成品Y的获取建议

步骤同产成品的获取建议,在本例中,未设置特定的批量、取整等参数,因此将产生数量为80、类型为自制的半成品的计划订单。

6 . 原材料A的净需求计算

对原材料A的相关需求数量为80个,原材料A的当前库存数量为30个,因此净需求数量应为50个。

7 . 原材料A获取建议产生

对于外购原材料来说,获取建议大多是以采购申请的形式,具体过程如下。

(1)获取建议的获取类型的确定

根据物料的获取类型,确定原材料A为外购,因此将产生获取类型为外购的获取建议,若物料的获取类型维护为寄售,则产生获取类型为寄售的获取建议。

(2)获取建议的数量的确定

系统根据物料的批量类型、配额信息、报废率设置、取整参数,系统确定出获取建议的数量,在本例中,设置批量类型(Lot Size)为Lot-For-Lot,未设置报废率(Scrap),在物料主数据的MRP1视图中设置舍入值(Rounding Value)为100。

因此MRP运行后,获取建议的数量为100个。

8 . 配额以及供应商的确定

若未维护配额(Quota),则系统根据货源清单、采购信息记录确定供应商;

若维护配额,系统将会根据配额确定供应商,以及向每家供应商的采购数量。

9 . 获取建议的形式(单据类型)

根据MRP运行时的参数,获取建议可能是计划订单,也可能是采购申请,还可能是计划协议中的计划行。关于MRP的示例,请参见本章最后一节。

3.1.2 MPS和MRP

MRP与MPS的关系以及相应的事务代码如下。

1 . MPS与MRP关系以及流程

简单说,MRP运行的目的是产生自制产成品、自制半成品的生产计划以及外购原材料的采购计划,如果有外发加工的(Sub Contract),产生对委外供应商的采购计划。

运行MRP的第一步是确定成品的MPS,MPS( Master Production Scheduling,主生产计划)是指企业的产成品的生产计划,即确定在未来的一段期间内,何时生产何产成品。对于绝大部分公司来说,MPS都是非常关键的一步,根据历史销售数据、新品上市、最近的客户需求、市场促销情况等确定出需求数量,需求数量一般在系统中是以计划独立需求(PIR)的形式体现,通过事务代码MD61维护。

在确定计划独立需求后,在系统中运行MPS,则得到产成品的生产计划,即产成品应该生产的数量和时间,该生产数量和时间在系统中以计划订单的形式体现,此时需要对MPS的结果进行评估,如果评估后,发现产能不足或是其他情况,则需要调整计划订单。对MPS评估并调整得到确定的MPS后,则根据MPS,对原材料、半成品运行MRP,产生原材料的采购计划、半成品的生产计划。

2 . MRP、MPS类型系统配置

系统通过事务代码OMDQ定义MRP类型,在MRP类型中,通过字段MRP procedure(过程)来区分MRP类型是属于MPS、MRP或者不运行MRP。系统标准的最常见、应用最广泛的MRP类型为PD。系统标准的MPS类型都是M打头的,包括五个:M0、M1、M2、M3、M4。

3 . MRP、MPS与计划策略

MPS的确定取决于计划策略,第2章对此做了简要的介绍,由于MPS关键而又复杂,需要多个部门协调确定的,因此部分公司这一操作是在系统外完成,或是仅由系统做一定的辅助,具体而言在SAP中以如下两种常见的方式执行。

(1)先确定产成品的生产计划,然后再确定半成品的生产计划、原材料的采购计划

先对成品运行MPS,然后对MPS结果进行评估、调整,即根据产成品的需求计划得到产成品的生产计划,具体而言可分为以下几个步骤:

1)设置产成品运行MPS:事务代码MM01维护产成品的MRP类型,设置为M0、M1、M2、M3、M4等MPS类型,并维护计划策略;

2)设置原材料、半成品运行MRP:事务代码MM01将半成品、原材料维护成PD等MRP类型;

3)维护计划独立需求:事务代码MD61对产成品维护计划独立需求;

4)MPS运行:事务代码MD40、MD41、MD42、MDBS对产成品来运行MPS;

5)MPS结果评估:事务代码MD04、MD12等对计划订单进行评估,根据需要固定或修改计划订单;

6)运行原材料的MRP:事务代码MD02、MD01、MDBT等对半成品和原材料来运行MRP。

(2)直接对所有物料运行MRP,产生所有物料的获取建议

不少公司会对包括产成品在内的物料都设置MRP类型为PD或类似的,然后对所有物料一起运行MRP,产生产成品、半成品的生产计划和原材料的采购计划,这种操作方法作往往是MPS事先在系统外已评估过。

4 . MRP、MPS运行的事务代码说明

MRP和MPS的运行有多个事务代码,表3-1列举九个相关的事务代码以及对应的程序和屏幕。

如表3-1所示,MRP运行可以前台运行或者后台运行,前台运行的七个事务代码,无论是单个物料运行还是整个工厂运行MRP,无论是运行MRP还是MPS,都是调用相同的程序SAPMM61X,同时事务代码MD02、MD41对应的屏幕也是相同的,因此总体来说,这些事务代码背后的处理逻辑是基本是相同的。

image

这些事务代码的差异是通过表T450N来记录的,该表记录这些事务代码在MRP运行时的参数,然后在程序SAPMM61X中,根据这些参数确定不同的处理方式,譬如当使用事务代码MD02运行时,系统将检查输入物料的MRP 过程(Procedure)是否设置为MPS,如果设置为MPS,则不能使用事务代码MD02运行。

(1)单个物料多层运行MRP

事务代码MD02对单个物料运行MRP,单个运行时,不考虑计划文件条目(Planning File Entries),无论当前物料是否存在计划文件条目,都会对当前物料运行MRP。事务代码MD02对单个物料进行多层计划,如在上节的示例中,当使用事务代码MD02对物料X运行MRP时,不仅对产成品物料X运行MRP,还会对产成品X下的半成品(Y)、原材料(A、B)运行MRP。该事务代码不能处理MRP过程为MPS(如MRP类型M0)的物料。

(2)单个物料单层运行MRP(Single-item,Single-level)

事务代码MD03与事务代码MD02类似,但仅单层运行MRP,如在上节的示例中,如果对产成品X运行MRP,只会产生对产成品X的获取建议(计划订单),不会对半成品、原材料运行MRP。

(3)总体运行(Total Planning Run)MRP(多物料、多工厂运行)

事务代码MD01/MDBT对工厂下的所有MRP相关的物料以前台或者后台的方式同时运行MRP,总体计划运行时,系统通过处理代码(Processing Key)和计划文件条目(Planning File Entries)来确定哪些物料需要运行MRP,因此总体运行时,若某物料无法运行MRP,请检查计划文件条目。该事务代码不能处理MRP过程为MPS(如MRP类型M0)的物料。

(4)总体运行MPS

事务代码MD40/MDBS对工厂下的所有物料可以同时运行MPS,总体计划运行时,系统通过处理代码和计划文件条目来确定哪些物料需要运行MRP,因此总体运行时,若某物料无法运行MPS,请检查计划文件条目。该事务代码默认处理MRP过程为MPS的物料,当勾选上参数“Process MRP Materials/处理MRP物料”后,则可以同时处理MRP过程为MRP的物料。

(5)MRP、MPS运行的事务代码补充说明

限于篇幅,这里不详细介绍,参见SAP Note 550568 - FAQ: MRP run (MD01,MD02,MD03,MDBT...)。还可以在网络中搜索文章“MRP控制参数—计划文件与处理代码(Processing Key)”,该文介绍了MRP运行前(时)的参数。

相关文章
|
1月前
|
Web App开发 数据采集 前端开发
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
|
1月前
|
XML 存储 数据格式
SAP UI5 控件 customData 属性的应用介绍
SAP UI5 控件 customData 属性的应用介绍
|
1月前
|
供应链 监控 安全
|
1月前
|
Web App开发 前端开发 JavaScript
乱花渐欲迷人眼 - 让 SAP UI5 应用的日志输出不再素面朝天
乱花渐欲迷人眼 - 让 SAP UI5 应用的日志输出不再素面朝天
SAP UI5 应用如何实现类似百度首页一样的访问方式试读版
SAP UI5 应用如何实现类似百度首页一样的访问方式试读版
|
1月前
|
前端开发
SAP Fiori 应用上传中文附件的处理问题
SAP Fiori 应用上传中文附件的处理问题
让 SAP UI5 应用的日志打印变得五彩缤纷试读版
让 SAP UI5 应用的日志打印变得五彩缤纷试读版
|
1月前
|
存储 供应链 安全
SAP S4HANA 数据归档的实施方法
SAP S4HANA 数据归档的实施方法
|
1月前
|
JavaScript 前端开发
试读版:如何找出 SAP 标准 Fiori 应用某个按钮点击后执行的 JavaScript 源代码
试读版:如何找出 SAP 标准 Fiori 应用某个按钮点击后执行的 JavaScript 源代码
关于 SAP ABAP OData 服务如何实现 Deep Insert 场景 - SAP 应用的标准行为试读版
关于 SAP ABAP OData 服务如何实现 Deep Insert 场景 - SAP 应用的标准行为试读版