SAP MRP(物料需求计划)的需求计算与展示是一个基于BOM(物料清单)、主生产计划、库存和采购数据的动态、多步骤的供需平衡过程。其核心逻辑是"净需求计算",并通过MRP清单和计划订单等关键报表进行可视化展示与后续处理 。
一、 MRP需求计算的核心逻辑
MRP运算的目标是确保物料在正确的时间、正确的地点、以正确的数量可用。其计算遵循以下递进逻辑:
-
总需求(Gross Requirements)汇总:系统首先收集所有对物料的需求,这包括:
- 独立需求:如销售订单、预测需求、计划独立需求等,它们直接来源于市场或管理决策,是需求的源头 。
- 相关需求:通过BOM展开,由上层物料(如产成品、半成品)的计划或生产订单计算得出的下层组件需求 。
-
可用库存(Available Stock)计算:系统计算当前及未来计划时区的可用库存。
- 可用库存 = 总库存 + 采购订单/生产订单在途量 + 计划订单 - 安全库存 - 已预留库存 。
-
净需求(Net Requirements)判定:这是MRP运算的核心。
净需求 = 总需求 - 可用库存- 当某个时区的总需求大于可用库存时,系统便会触发净需求 。净需求是系统生成补货建议(计划订单或采购申请)的基础。
-
计划订单(Planned Order)生成:为满足净需求,系统会自动创建计划订单。其数量和时间由以下参数决定:
- 批量策略:如固定批量、直接按需(Lot-for-Lot)、期间批量等,决定了每次补货的数量 。
- 提前期(Lead Time):包括采购/生产处理时间、收货时间等,系统会根据提前期将计划订单的需求日期倒推为建议的订单开始/下达日期 。
- MRP类型:决定了物料的计划模式,是需求驱动(如PD)还是基于消耗(如VB) 。
-
BOM展开与低阶码(Low-Level Code)处理:系统从BOM最顶层(低阶码为0)开始计算,逐层向下展开,确保所有层级物料的需求都被准确计算。低阶码确保了物料在其所有上层需求都被计算完毕后,才进行自身的MRP运算,避免重复计算 。
二、 MRP运行的处理流程与参数
用户通常通过事务代码MD01(全工厂)或MD02(单个物料)来运行MRP。运行界面包含关键控制参数,直接影响计算的范围和结果 。
MRP运行的关键处理代码:
| 处理代码 | 含义 | 应用场景 |
|---|---|---|
| NETCH | 净变化计划 | 仅对上次MRP运行后发生供需变化的物料进行重新计算。这是日常运行最常用的模式,速度快 。 |
| NETPL | 计划区间内的净变化计划 | 在设定的"计划时界"内执行净变化计划,时界外保持不变。用于稳定近期计划 。 |
| NEUPL | 重新生成计划 | 对所有选中物料进行彻底重新计算,无论是否有变化。通常在系统初始化、或主数据(如BOM)大规模变更后使用 。 |
其他重要运行参数:
- 创建采购申请:控制是否直接为外购物料生成采购申请(PR),还是先生成计划订单 。
- 计划模式:如"1-适应计划数据"或"3-删除并重新创建",决定了系统如何处理已有的计划订单 。
- 调度:决定计划订单的排产方式,如前推或后推排程 。
三、 需求与结果的展示逻辑
MRP运算的结果主要通过以下报表展示,供计划员分析和决策:
-
MRP清单(MD04):这是最核心的展示界面。它以物料为单位,按时间轴清晰地展示了所有供需元素。
- 展示结构:通常分为需求、收货、可用库存和计划订单几大列,按日期排序。
- 关键字段 :
MRP元素(如销售订单、生产订单、采购申请等)、数量、日期。计划订单会以可执行建议的形式出现 。 - 颜色标识:系统常用颜色提示异常,如红色代表短缺,黄色代表需求被覆盖但有潜在问题。
-
库存/需求清单(MD05):提供与MRP清单类似的信息,但视图和汇总方式可能不同,便于从不同角度分析。
-
计划订单的转换与下达:在MRP清单中,计划员可以:
- 直接转换 :将计划订单转换为固定的生产订单(
CO41)或采购申请(MD14)。 - 手动调整:修改计划订单的建议数量或日期,以应对实际业务约束。
- 系统自动转换:通过后台作业或特定配置,满足条件的计划订单可自动转换为采购申请或生产订单 。
- 直接转换 :将计划订单转换为固定的生产订单(
四、 示例:一个简化的MRP计算流程
假设产品A由1个部件B组成。B的采购提前期为1天,当前库存为5个。
| 日期 | 事件 | 产品A(总需求) | 部件B(需求计算) |
|---|---|---|---|
| D1 | 销售订单:10个A,交货期D3 | 需求:10 (D3) | 相关需求:10 (D3) |
| D2 | MRP运行 | 总需求:10 可用库存:5 净需求:5 (D3) 生成计划订单:5 (建议下达日 D2) | |
| D3 | 发货10个A | 收货(来自采购订单)5个B,消耗5个库存,可用库存归0 |
在MD04中查看部件B,会看到:
- 需求区:一行"相关需求",数量10,日期D3。
- 收货区:一行"库存",数量5。
- 计划订单区:一行"计划订单",数量5,日期D2(建议下达)。
这个流程清晰地展示了从销售需求触发,到BOM展开计算相关需求,再通过净需求计算生成补货建议,最终在MRP清单中集中展示的完整闭环 .