简介:这份资源是SAP PP模块的系列培训教材之一,聚焦MRP基本概念、MRP元素与运行参数,面向ERP顾问、生产计划人员及SAP初学者,帮助理解物料需求计划的运行逻辑与系统操作。压缩包内为1个PPT文件,约622KB,以图文幻灯片形式呈现,便于课堂讲解与自学翻阅。内容从MRP定义切入,说明其输入为现在与将来的需求、输出为计划订单和采购请求,并延伸至供应链与后勤链概览,梳理独立需求、派生需求、计划订单、采购申请、生产订单等MRP元素,以及净需求计算中供应与需求的构成。运行参数部分覆盖MD01工厂级运行、MD02单项多层运行、MD04库存/物料需求清单、MD05 MRP清单,并列出处理代码、创建采购申请、计划模式等字段说明,还整理了常见例外信息代码。目前已有98人学习,适合作为MRP入门与日常查阅的参考材料。
1. 从一张 MRP 清单看懂 SAP 计划逻辑
很多做了两三年 SAP MM 或 PP 的顾问,第一次独立跑 MD01 时都会遇到同一个尴尬:事务码跑完了,系统提示"物料计划已完成",但打开 MD04 一看,满屏的例外消息和 MRP 元素,完全不知道从哪一行开始排查。问题不在操作,而在于没有先建立"MRP 元素 = 供需凭证"这个基本认知。
这份 SAP PP005 培训教材的价值就在这里。它不讲配置,也不讲后台表,而是把 MRP 运行前后的输入输出关系、MRP 元素的分类、MD01/MD02/MD04/MD05 四个事务码的定位差异,用一页页 PPT 摊开讲清楚。适合刚接触 SAP 计划模块的顾问、关键用户,以及需要理解"计划订单为什么自动冒出来"的业务人员。看完之后,MD04 里那些 IndReq、PldOrd、PurRqs 不再是缩写,而是能对应到具体业务动作的凭证。
2. MRP 元素分类与净需求计算原理
2.1 MRP 元素到底在描述什么
MRP 元素(MRP Element)本质上是系统在计划运行时识别到的每一条供需记录。教材里列了一张对照表,把常见的元素缩写和业务含义对应起来,这张表值得背下来,因为 MD04 的每一行开头就是这些缩写。
| 元素缩写 | 含义 | 供需方向 | 典型来源 |
|---|---|---|---|
| IndReq | 独立需求 | 需求 | 销售预测、MD61 手工录入 |
| DepReq | 派生需求 | 需求 | BOM 展开后子件需求 |
| PldOrd | 计划订单 | 供给 | MRP 运行自动生成 |
| PurRqs | 采购申请 | 供给 | MRP 运行自动生成 |
| PrdOrd | 生产订单 | 供给 | 计划订单转换 |
| PO 项目 | 采购订单 | 供给 | 采购申请转换 |
| CusOrd | 客户订单 | 需求 | SD 模块销售订单 |
| Stock | 库存 | 供给 | 当前可用库存 |
| OrdRes | 订单预留 | 需求 | 生产订单组件预留 |
| ShpgNt | 交货协议 | 需求 | 交货单 |
理解这张表的关键是分清"需求侧"和"供给侧"。MRP 运行的本质,就是把所有需求按日期排序,再用供给去逐条冲抵,冲不掉的缺口就生成新的计划订单或采购申请。教材里"净需求的计算"那一页画的就是这个逻辑:固定的 Receipts(已有采购订单、已 firmed 的计划订单)和仓库库存先顶上,剩下的独立需求、物料预留、销售订单、预测需求、安全库存才是真正要新生成的供给。
2.2 净需求计算的顺序与安全库存的位置
净需求不是简单加减,它有严格的冲抵顺序。常见做法是:先看当前库存,再扣安全库存,然后用固定收货冲抵,最后才把剩余需求汇总成净需求。安全库存的位置很关键——它是在库存里被"锁住"的部分,不参与冲抵,所以如果安全库存设得过高,MRP 会频繁生成计划订单。
可用库存 = 当前库存 - 安全库存 净需求 = 总需求 - 可用库存 - 固定收货这个公式看起来简单,但实际运行中会有几个变量干扰:批次计算(Lot Size)会决定净需求是否向上取整到最小批量或舍入值;计划时界(Planning Time Fence)内的需求不会被 MRP 自动调整;采购提前期(Planned Delivery Time)会倒推计划订单的开始日期。教材里"计划运行"那一页把流程拆成四步——净需求计算、批次计算、BOM 展开决定派生需求、排程——顺序不能乱,因为 BOM 展开依赖净需求结果,排程又依赖 BOM 展开后的子件需求。
提示:如果 MD04 里出现"56 在计划时界内短缺"这条例外消息,说明需求落在时界内,MRP 不会自动生成供给,需要人工介入或调整时界设置。
2.3 后勤链中的 MRP 位置
教材用一张"后勤链概览"把 MRP 放在中间位置:左边是销售模块的订单处理和独立需求,右边是采购申请、计划订单转换、生产订单、发票校验。这个视角很重要,因为它解释了为什么 MRP 运行结果会同时影响采购和 production 两个方向。销售订单和预留进入 MRP 成为需求,MRP 输出的计划订单可以转采购申请走外部采购,也可以转生产订单走自制生产。理解这条链路,才能在 MD04 里做需求溯源——看到一条派生需求,能反查到是哪张销售订单或哪个上层物料触发的。
3. MD01 与 MD02 的参数配置与运行差异
3.1 MD01 工厂级 MRP 运行参数逐项说明
MD01 是在工厂级别对所有物料运行 MRP,教材里明确写了一句"没事别运行 MD01",因为它的影响面太大。但理解它的参数,是理解 MRP 运行机制的最好入口。
| 字段名 | 教材建议值 | 说明 |
|---|---|---|
| 处理代码 | NETCH | 总水平的净变化,只处理有变化的物料 |
| 创建采购申请 | 选 3 | 全部生成计划订单 |
| 计划行 | 选 1 | 没有计划行 |
| 创建 MRP 清单 | 选 1 | 生成 MRP 清单 |
| 计划模式 | 选 1 | 普通模式 |
| 调度 | 选 2 | 前置时间计划和能力计划 |
| 工厂 | 按实际输入 | 物料所在工厂 |
处理代码 NETCH 是最常用的选项,它的含义是"净变化计划"——只对自上次 MRP 运行以来有变化的物料重新计划。与之相对的是 NEU 之类的全量计划,会重算所有物料,耗时长且容易产生大量计划订单变更。计划模式选 1(普通模式)表示按正常逻辑处理,选 2 或 3 会进入重新生成或删除重建模式,生产环境慎用。
MD01 运行后的检查顺序: 1. 看状态栏是否提示"物料计划已完成" 2. 打开 MD04 检查例外消息分组 3. 重点看 05/06/07 类过去日期消息 4. 再看 10/20/30/40 类新日期消息 5. 最后看 42/44/46 类订单建议变更消息3.2 MD02 单项多层 MRP 的四个差异选项
MD02 是针对单个物料运行 MRP,教材特别提醒"注意和 MD01 不同的四个选项"。这四个选项通常指处理代码、计划范围、BOM 展开层级和创建采购申请的标识。MD02 的优势是可以指定物料和工厂,适合排查单个物料的计划问题。
MD02 典型操作步骤: 1. 输入物料号、工厂 2. 处理代码选 NETCH(净变化) 3. 计划范围选 1(普通) 4. 勾选"创建采购申请" 5. 执行后直接跳转 MD04 查看结果单项多层的意思是:如果该物料有 BOM,MRP 会向下展开一层,为子件生成派生需求。但不会递归展开所有层级,除非在后台配置了多层展开。这一点和 MD01 不同,MD01 默认按物料逐个处理,BOM 展开层级取决于物料主数据里的设置。
注意:MD02 运行后如果子件没有生成派生需求,先检查 BOM 是否有效、物料主数据里的 MRP 类型是否设置为 PD 或 VB,以及 BOM 展开日期是否覆盖需求日期。
3.3 运行参数对计划订单生成的影响
处理代码和创建采购申请标识的组合,直接决定 MRP 运行后生成什么。教材里"创建采购申请"选 3 表示全部生成计划订单,这是最常见的设置,因为计划订单可以后续手工转采购申请或生产订单,保留调整空间。如果选 1 或 2,系统会直接生成采购申请,跳过计划订单环节,适合采购周期短、不需要人工审核的物料。
计划行选 1(没有计划行)表示不生成计划行,计划行通常用于产能计划和排程,如果企业没有启用产能计划功能,选 1 可以简化数据。调度选 2(前置时间计划和能力计划)会触发提前期计算和能力需求生成,如果企业没有启用 CRP(能力需求计划),选 1 即可。
4. MD04 与 MD05 的读取差异及例外信息排查
4.1 MD04 动态清单与 MD05 静态清单的区别
教材里用一页专门讲 MD04 和 MD05 的区别,这是实际工作中最容易混淆的地方。
| 对比项 | MD04 | MD05 |
|---|---|---|
| 数据性质 | 动态,实时刷新 | 静态,MRP 运行时快照 |
| 刷新方式 | 每次打开重新读取 | 不自动刷新 |
| 限制选择 | 较少 | 较多 |
| 适用场景 | 日常排查、实时查看 | 分析 MRP 运行结果、存档 |
MD04 是动态的,每次打开都会重新读取当前供需数据,所以看到的是最新状态。MD05 是 MRP 运行时的静态快照,不会实时刷新,适合对比"MRP 运行时系统看到了什么"和"现在实际是什么"。如果 MD04 和 MD05 数据不一致,说明 MRP 运行后又有新的业务凭证产生,需要重新运行 MRP。
MD04 的集中读取功能支持按控制者、产品组、供应商、获取类型、MRP 类型筛选,这在排查大批量物料时很有用。比如按 MRP 控制员筛选,可以一次性看到某个计划员负责的所有物料的供需状况。
4.2 例外信息分组与优先级
教材把例外信息分成两组,第一组是 01-82 的常见消息,第二组是 15-898 的扩展消息。实际排查时不需要背所有代码,但要记住几个高频的:
- 05/06/07:过去的未清日期、开始日期、结束日期。这三条出现说明有凭证的日期已经过期,需要重新计划或调整日期。
- 10/20/30/40:新日期和过去日期并存,通常出现在重新计划后。
- 42/44/46:订单建议已经改变、重新研究的订单建议、订单建议已被手工改变。这三条说明 MRP 生成的建议和现有凭证不一致。
- 56:在计划时界内短缺。需要人工介入。
- 96:安全库存层下的降低库存。说明库存已经低于安全库存。
MD04 例外信息排查顺序: 1. 先看红色消息(通常 05/06/07/56/96) 2. 再看黄色消息(42/44/46) 3. 最后看绿色消息(正常) 4. 对每条红色消息,双击进入凭证详情 5. 判断是调整日期、手工 firmed 还是修改主数据4.3 需求溯源与 BOM 检查
教材最后一部分练习要求"使用自己的物料和 BOM 理解 MRP LIST",并给出了几个参照物料号。需求溯源的做法是:在 MD04 里找到一条派生需求,双击进入,系统会显示是哪张上层订单或哪个上层物料触发的。如果派生需求不对,往上查 BOM 结构。
检查 BOM 的事务码: CS03 - 显示物料 BOM CS11 - 逐层显示 BOM CS12 - 多层 BOM 展开 CS15 - 反查用途(Where-Used List)CS15 特别有用,它可以反查一个子件被哪些上层物料使用,当子件出现异常需求时,用 CS15 可以快速定位是哪个成品或半成品的 BOM 触发的。教材里列出的参照物料 300079、200094、100216 等,就是用来练习这种溯源操作的。
5. MRP 运行后的验证与计划订单转换技巧
5.1 用 MD05 对比验证 MRP 运行结果
MRP 运行后,不要只看 MD04 的最终状态,更稳妥的做法是对比 MD05 和 MD04。MD05 是运行时的快照,MD04 是当前状态,两者差异就是运行后新增的业务凭证。如果差异过大,说明运行期间有大量业务操作,需要重新运行。
验证步骤: 1. MD02 运行单个物料 2. 立即打开 MD05,记录计划订单数量和日期 3. 打开 MD04,对比供需行 4. 检查例外消息是否减少 5. 如果仍有 56 类消息,检查计划时界5.2 计划订单转采购申请与生产订单的时机
计划订单是 MRP 的中间产物,最终要转成采购申请(外部采购)或生产订单(自制)。转换时机取决于物料主数据里的采购类型(E 外部、F 内部)和特殊采购类。常见做法是:计划订单生成后,由计划员在 MD04 里逐条或批量转换。
MD04 中转换计划订单: 1. 选中计划订单行 2. 点击"转换"按钮或使用事务码 MD11 修改 3. 外部采购转采购申请:ME58 或 MD04 直接转换 4. 自制转生产订单:CO41 集中转换批量转换用 CO41 或 CO42,可以按工厂、物料、日期范围筛选计划订单,一次性转成生产订单。转换前要确认 BOM 和工艺路线已维护,否则生产订单创建会报错。
5.3 减少例外消息的日常维护习惯
例外消息多,通常不是 MRP 的问题,而是主数据或业务操作的问题。几个日常习惯可以显著减少例外消息:定期清理过期的采购申请和计划订单;维护准确的采购提前期和计划交货时间;安全库存不要设得过高;计划时界设置要合理,太短会导致频繁人工介入,太长会掩盖真实短缺。
提示:如果 MD04 里长期出现大量 05/06/07 类消息,优先检查物料主数据里的"计划边际码"和"提前期"设置,而不是反复运行 MD01。
本文还有配套的精品资源,点击获取