SAP S/4HANA MM模块培训 17 - MRP结果评估:MD04库存需求清单与MD05 MRP清单

MRP 运行结束后,计划人员不能只看“运行成功”,还要判断系统当前究竟缺什么、哪些采购建议已经生成、业务单据变化后结果是否仍然有效。本课用物料 1304080 和工厂 1000 做了三组连续实验:新增计划独立需求、过账 50 EA 初始库存、删除计划订单 537,由此对比 MD04 库存/需求清单与 MD05 MRP 清单的本质区别。
最重要的结论是:MD04 面向当前状态,MD05 面向上一次被保存的经典 MRP 结果。 两个清单在刚完成一次经典 MRP 后可能完全一致,但只要需求、库存或采购建议发生变化,MD04 就会反映新状态,旧的 MD05 快照仍保留运行当时的结果。这里的“动态”是指重新进入或刷新清单时重新读取当前 MRP 要素,不是已经打开的画面会自动推送变化。
一、本课目标与实际范围
本课的完整实操内容集中在 MD04 与 MD05。视频开头还列出了多物料集中访问、期间总计、订单报表、需求追溯、例外消息、显示过滤器、选择规则和导航配置文件等后续主题,但这些内容在本集没有展开,不能当作本课已经完成的教学成果。

| 时间 | 实际内容 |
|---|---|
| 00:00–01:14 | MRP 结果评估议程;说明后续还会讲其他分析工具 |
| 01:15–03:03 | 结果评估清单概览;准备 ECC 演示环境 |
| 03:04–04:32 | MD04 动态清单与 MD05 静态快照的概念差异 |
| 04:33–05:43 | 用 MD61 增加计划独立需求,观察两个清单的变化 |
| 05:44–07:03 | 用 MD02 重新运行经典 MRP,使 MD04 与新 MD05 对齐 |
| 07:04–08:07 | 用 MIGO、移动类型 561 增加 50 EA 初始库存 |
| 08:08–10:39 | 删除计划订单 537,用两个清单追踪当前状态和历史快照 |
二、MD04 与 MD05 到底有什么不同

1. MD04:当前库存与需求的动态视图
MD04 的标准名称是库存/需求清单(Stock/Requirements List)。它把当前仍然有效的库存、需求和收货要素按照日期排列,并逐行计算可用数量。常见要素包括:
- 当前工厂库存或 MRP 区域库存;
- 计划独立需求、销售订单需求和相关预留;
- 采购申请、采购订单、计划订单和生产订单;
- 调拨、计划协议交货计划行以及其他参与物料计划的要素。
当计划人员重新执行 MD04,或在画面中刷新时,系统会重新读取此刻有效的 MRP 要素。因此新增需求、收货过账、订单删除、采购建议转换等业务变化都会进入新读取的结果。
2. MD05:最后一次已生成并保存的MRP清单
MD05 显示单个物料的 MRP 清单(MRP List)。它不是任意最近一次 MRP 的运行日志,而是最后一次为该物料实际生成并保存的 MRP 清单。其价值是保留计划运行当时的供需状态,让计划人员在业务数据已经变化以后仍能回答:
- MRP 当时看到了哪些需求和收货要素?
- 系统当时创建了哪些采购建议?
- 当时计算出的可用数量和例外消息是什么?
- 当前状态与上次计划结果之间发生了什么变化?
MRP 清单的生成是可控制的,可以设置为不生成、始终生成,或只在出现指定例外消息时生成。因此不能笼统地说“只要运行过 MRP,MD05 就一定存在新结果”。旧清单只有在手工删除,或者后续计划运行确实重新计划该物料并生成新清单时,才会被删除或替换。
三、实验准备:读取旧的MD05快照
视频使用的是 ECC EHP7 的经典 SAP GUI,而不是 S/4HANA Fiori 画面。演示对象如下:
| 字段 | 视频示例值 |
|---|---|
| 物料 | 1304080,Pepsi Bottle - 1L |
| 工厂 / MRP 区域 | 1000,Hamburg |
| MRP 类型 | PD |
| 物料类型 | FERT |
| 基本计量单位 | EA |
| 计划独立需求版本 | 00 |
先用 MD05 读取物料 1304080 的旧 MRP 清单。画面保留的是上一次经典 MRP 运行时保存的状态,初始库存显示为 0。

这个初始快照是后面三组实验的比较基准。判断差异时,不能只盯着一行数据,而要同时观察:MRP 要素、日期、收货或需求数量、可用数量、采购建议编号和例外消息。
四、实验一:新增计划独立需求
1. 用MD61维护PIR
讲师通过 MD61 为物料 1304080、工厂 1000、版本 00 维护计划独立需求(PIR)。计划期间设置为 2021-10-31 至 2022-12-05,期间指示为按月。

视频最终形成的四笔需求如下:
| 需求日期 | MRP要素 | 数量 |
|---|---|---|
| 2021-11-02 | IndReq / LSF | -100 EA |
| 2021-12-01 | IndReq / LSF | -100 EA |
| 2022-01-02 | IndReq / LSF | -100 EA |
| 2022-02-01 | IndReq / LSF | -100 EA |
2. MD04立即读取新需求
保存 PIR 后重新进入 MD04,四笔需求已经出现。由于此时没有库存和收货要素,累计可用数量依次变为 -100、-200、-300、-400。

3. MD05仍保留旧状态
此时打开 MD05,旧 MRP 清单并没有因为 MD61 的保存动作自动改写,仍然显示计划运行时保存的原状态。


这一组实验说明:业务数据变化会进入 MD04 的当前视图,但不会反向修改已经保存的历史 MRP 清单。
五、重新运行经典MRP:两个清单暂时对齐
讲师使用 MD02 为同一个物料重新执行单项、多层经典 MRP。视频中的主要控制参数是:
| 参数 | 示例值 | 本次作用 |
|---|---|---|
| 处理键 | NETCH | 进行净变化计划 |
| 创建采购申请 | 2 | 按视频系统配置处理外部采购建议 |
| 计划协议计划行 | 3 | 按视频参数运行 |
| 创建MRP清单 | 1 | 为本次结果创建并保存MRP清单 |
| 计划模式 | 1 | 调整计划数据,不做无条件删除重建 |
| 排程 | 1 | 按基本日期进行排程 |
运行后,系统针对四笔 100 EA 的需求生成四个计划订单:
| 计划订单 | 日期 | 数量 | 视频中的例外消息 |
|---|---|---|---|
534 | 2021-11-06 | 100 EA | 30,并提示重排日期 2021-11-02 |
535 | 2021-12-01 | 100 EA | 01 |
536 | 2022-01-02 | 100 EA | 01 |
537 | 2022-02-01 | 100 EA | 01 |
MD04 读取到四个当前有效的计划订单:

由于本次经典 MRP 确实重新计划了该物料,并且“创建 MRP 清单”参数要求生成清单,MD05 也得到一份新快照:

两者此刻看起来一致,但不能据此认为它们是同一份数据。更准确的说法是:当前状态恰好与刚保存的计划快照一致,而且从计划运行结束到查看清单之间还没有发生新的业务变化。
六、实验二:用561移动类型增加50 EA初始库存
1. MIGO过账
接下来通过 MIGO 执行收货,界面选择 A01 收货、R10 其他,移动类型为 561,录入物料 1304080、数量 50 EA、工厂 1000、库存地点 L000,过账日期为 2021-10-31。

561 常用于输入初始库存余额。它是否适合真实项目、由谁使用以及是否允许直接过账,应遵守项目上线、财务和库存管理制度;视频里的数据只是培训环境示例。
2. MD04显示当前库存50
过账后重新查看 MD04,当前库存从 0 变为 50 EA。可用数量的计算也从这 50 EA 开始,再叠加后续需求和计划收货。

3. MD05仍显示运行时库存0
MD05 保留的仍是 MRP 运行当时的快照,因此库存还是 0。


这一差异非常适合用于排查“MRP 当时为什么建议补货”。如果现在仓库已经有 50 EA,但计划运行时还没有这笔库存,那么 MD05 可以保存当时产生采购建议的供需依据,MD04 则用于判断现在是否仍然短缺。
七、实验三:删除计划订单537
讲师在计划订单 537 的明细画面执行删除。删除前,画面能够确认订单编号及对应数量。

删除后,MD04 不再显示订单 537。由于 2022-02-01 的 100 EA 需求失去了对应收货要素,并结合前面增加的 50 EA 库存,最终可用数量出现 -50 的短缺。

但 MD05 中仍然保留计划订单 537,因为该订单在生成 MRP 清单快照时确实存在。


这里要避免过度解读:MD05 只能证明订单 537 在快照生成时存在,不能单靠这张清单判断“谁在什么时候为什么删除了它”。在真实系统中,计划订单消失还可能来自人工删除、转换为生产订单、后续 MRP 或 MRP Live 处理,以及其他业务流程。要追查责任和时间,还需要结合订单状态、变更记录、相关业务单据和系统日志。
八、MRP清单的生成与生命周期

可以把 MD05 的生命周期归纳为以下步骤:
- 经典 MRP 运行选中并实际计划某个物料;
- “创建 MRP 清单”参数或后台配置判定需要生成清单;
- 系统把本次运行的供需要素、可用数量和例外消息保存为快照;
- 后续业务单据变化不会改写旧快照;
- 后续运行只有在重新计划该物料且再次生成清单时,才会用新结果替换旧清单;
- 计划人员也可以按授权和业务规则手工删除旧清单。
因此,“MD05 是静态清单”不能解释为“它没有刷新按钮”,真正原因是它读取已保存的数据库快照,而不是重新汇总当前所有 MRP 要素。
九、S/4HANA中的使用边界
视频画面来自 ECC,但核心概念仍适用于 S/4HANA 中的经典 MRP 场景。需要特别区分经典 MRP 与 MRP Live:
- S/4HANA 后端仍保留
MD04、MD05和MD06等经典分析事务; MD01N的 MRP Live 通常不创建传统 MRP 清单,因此不能期望每次 MRP Live 后都在MD05得到新快照;- 当数据不一致导致 MRP Live 终止时,系统可能提供终止物料清单,但这不是传统
MD05快照的等价替代; - 如果项目需要审计计划运行时的结果,要先确认使用的是哪一种 MRP 运行方式,以及是否配置了 MRP 清单生成。
十、计划人员的实用判断方法
场景1:现在是否缺料
先看 MD04。它回答当前有哪些库存、需求和收货要素,以及按时间顺序计算后的可用数量。
场景2:上次MRP为什么创建采购建议
如果上次经典 MRP 生成了清单,查看 MD05,再与 MD04 对比。重点找出新增或消失的需求、库存、采购建议和日期变化。
场景3:MD04和MD05完全一致
这通常表示 MRP 刚运行并生成了新清单,而且之后尚未发生相关业务变化;它不表示两者会永久同步。
场景4:MD05长期不更新
依次确认:该物料是否参加了本次计划、运行参数是否要求创建 MRP 清单、是否只有指定例外才创建、运行方式是否为 MRP Live,以及旧清单是否仍在保留。
场景5:采购建议在MD04消失、在MD05仍存在
这说明当前业务状态与计划快照已经不同。先确认采购建议是否被删除、转换或由后续计划处理,再检查相关单据和日志;不要仅凭 MD05 猜测变更原因。
十一、常见误区
- 误区:MD04会自动实时推送画面变化。 实际上“动态”指再次读取或刷新时读取当前数据。
- 误区:任何一次MRP运行都会生成新的MD05。 是否生成取决于计划范围、运行方式和清单生成控制。
- 误区:MD05是不可刷新的MD04。 两者的数据来源不同:一个汇总当前要素,一个读取保存的计划快照。
- 误区:重新运行MRP一定替换旧清单。 只有物料被重新计划且本次确实生成新清单时,旧清单才会被替换。
- 误区:MD05里的旧订单能证明删除责任。 它只证明快照时存在,不能单独说明变更人、变更时间和业务原因。
- 误区:S/4HANA所有MRP运行都与ECC行为相同。 经典 MRP 与 MRP Live 的参数、执行方式和结果清单能力不同。
十二、本课结论
MD04 和 MD05 不是竞争关系,而是一组互补工具:
MD04用于回答“现在是什么状态”;MD05用于回答“上次保存的经典 MRP 结果是什么”;- 两者的差异用于解释需求、库存和采购建议在计划运行后发生了哪些变化。
视频通过四笔 PIR、四个计划订单、50 EA 初始库存和计划订单 537 的删除,把这个差异完整演示出来。实际排查时,应先确认 MRP 运行方式和清单生成条件,再用 MD04 与 MD05 对比,最后结合业务单据和变更记录定位原因。


