SAP S/4HANA MM模块培训 57 - MM-PP集成:MRP采购、生产预留、外部加工与货物移动

SAP S/4HANA MM模块培训 57 - MM-PP集成:MRP采购、生产预留、外部加工与货物移动
MM 与 PP 的集成并不是“两个模块互相传一次数据”这么简单。生产计划产生需求、生产订单组织执行;采购与库存管理则负责把外部物料、委外工序和仓库收发纳入可追踪的单据链。真正需要掌握的是:一个需求如何经过 MRP 变成计划订单或采购申请,BOM 项目类别如何决定预留还是直接采购,以及生产订单的 261 发料、101 收货如何形成物料凭证并更新订单状态。
本文按视频第 57 课的演示顺序,完整拆解六个 MM-PP 集成点,并结合 SAP 官方教程补充 MRP Live、BOM 非库存项目、外部加工、货源确定和生产订单技术完成等关键规则。
本文中的物料号、工厂
0001、生产订单号、预留号、采购申请号、日期、数量、价格、采购组、存储地点和批次均来自课程演示系统,只用于解释业务逻辑。真实项目必须以本企业主数据、配置和权限为准。
视频与课程信息
| 项目 | 内容 |
|---|---|
| 视频序号 | 57 |
| YouTube 视频 | Video 57 - SAP S/4 HANA Materials Management (MM) training : MM - PP Integration |
| 视频时长 | 约 49 分 05 秒 |
| 核心主题 | MRP 采购申请、BOM 非库存项目、生产订单预留、非库存组件 PR、外部加工 PR、261/101 货物移动 |
| 课程主要事务码 | MM02/MM03、CS02/CS03、MD61、MD01N、MD04、CO01/CO02/CO03、MB23、ME53N、MIGO |
| 适合读者 | SAP MM、PP 顾问,生产计划员,采购员,仓库与集成测试人员 |

一、先建立全局认识:PP 提出需求,MM 负责供应与库存
在这条端到端链路中,PP 与 MM 的职责边界可以这样理解:
- PP 负责定义成品要生产多少、何时生产、需要哪些组件、经过哪些工序。
- MRP 负责把需求与现有供应进行净需求计算,并创建采购或生产建议。
- MM 采购负责处理采购申请、确定货源、创建采购订单并跟踪供应商交付。
- MM 库存管理负责组件发料、成品收货、批次和存储地点更新,并生成物料凭证。
- CO/FI 接收库存与生产订单的价值变化,形成实际成本和会计凭证。

视频用一个“1 L 瓶装饮料”成品作为例子。该成品的 BOM 包含散装溶液、空瓶和瓶盖。虽然例子很简单,但它覆盖了实际项目最常见的集成判断:哪些组件内部生产、哪些外部采购、哪些保有库存、哪些只在订单发生时直接采购,以及生产结束后如何完成发料和收货。
二、集成点一:MRP 为内部生产创建计划订单,为外部采购创建采购建议
MRP 的第一步不是创建单据,而是判断“有没有短缺”。系统读取需求、库存和已有供应,再结合批量、时间和采购类型,决定用什么供应元素覆盖短缺。
课程中的基本逻辑是:
- 成品采用内部生产时,MRP 生成计划订单;计划人员后续可将其转换为生产订单或流程订单。
- 组件采用外部采购时,MRP 生成采购申请,交给 MM 采购继续处理。
- 如果存在有效计划协议,MRP Live 可能直接生成计划协议行,而不是采购申请。

1. 在物料主数据中确定采购类型
视频先进入组件的 MRP 2 视图,把采购类型从 X 调整为 F。课程画面中的搜索帮助说明了常用含义:
E:内部生产。F:外部采购。X:既允许内部生产,也允许外部采购,最终选择还受到其他主数据和配置影响。

这里必须注意,采购类型是工厂级计划参数。相同物料在不同工厂可以采用不同采购策略;如果启用了 MRP Area 级别数据,MRP Area 的计划参数还可能覆盖工厂默认值。
2. 录入计划独立需求
视频使用 MD61 为成品录入计划独立需求,示例为未来月份需要 1,000 瓶。计划独立需求代表预测或计划需求,它不是销售订单,但会参与需求驱动的 MRP 计算。

录入时需要关注:
- 成品物料和工厂是否正确。
- 版本是否参与计划。
- 计划期间与数量是否符合业务预测。
- 需求日期是否给采购和生产留出足够提前期。
课程视频的自动字幕把 MD61 识别成了 MB61,但从画面底部事务码和页面标题可以确认,演示的是 MD61。
3. 使用 MD01N 执行 MRP Live
随后视频进入 MD01N,按工厂和成品物料执行 MRP Live。画面中可见计划范围、物料范围、计划模式和调度参数。

执行完成后,成品的内部生产需求形成计划订单;BOM 展开产生组件依赖需求。对采购类型为 F 的空瓶和瓶盖,系统创建采购申请。
4. 在 MD04 中验证结果
MD04 的价值不只是“看有没有采购申请”,而是把需求和供应放在同一时间轴上。课程中,瓶盖的库存/需求清单同时显示:
- 来自上层成品的依赖需求
DepReq。 - MRP 创建的采购申请
PurRqs。 - 对应的数量、需求日期和采购申请编号。

验证时应回答四个问题:
- 采购申请数量是否能覆盖依赖需求?
- 采购申请交付日期是否早于组件需求日期?
- 采购申请是否已经分配供应来源?
- 如果数量或日期不对,是 BOM、需求、提前期、批量还是已有库存导致的?
SAP 官方教程补充:MRP Live 与经典 MRP 的差异
SAP Learning 对 MRP 的官方说明指出,MRP 的供应元素包括计划订单、采购申请和计划协议行。内部生产物料通常形成计划订单,计划订单随后可转换为生产订单;外部采购物料在 MRP Live 中,如果存在有效计划协议则创建计划协议行,否则创建采购申请。SAP Learning:Running Materials Requirements Planning
与视频中的简化表述相比,项目实施还要知道:
- MRP Live 对外部采购始终直接创建采购申请,不支持“先生成外购计划订单、再人工转换成采购申请”的经典模式。
- MRP Live 不生成常规 MRP List;应使用实时库存/需求清单和相关 MRP 应用检查结果。
- 计划模式会影响未固定采购建议是复用、调整,还是删除后重建。
- 如果业务必须先生成外部采购计划订单,需要评估经典 MRP,而不能默认套用 MD01N 行为。
SAP Help 对这些差异有明确说明:MRP Live: Incompatible Changes;计划模式可参考 MRP Live: Control Parameters。
SAP Learning 页面还提供了官方 MRP Live SAP GUI 截图,下面保留原始软件界面作为补充参考:

三、理解 BOM:项目类别决定组件进入订单后的行为
视频先用 CS03 展示成品 BOM。成品 1 L 瓶装饮料由三个组件组成:散装溶液、空瓶和瓶盖,基础数量均按生产一瓶成品计算。


BOM 回答的是“生产一件成品需要什么、需要多少”;它并不独立决定所有采购行为。采购类型、项目类别、特殊采购类型、BOM 项目数据、生产订单和 MRP 配置共同决定系统最终创建预留、依赖需求还是采购申请。
项目类别 L:库存项目
项目类别 L 表示库存项目。典型特征是:
- 组件通常有物料主记录并进行库存数量管理。
- BOM 组件复制到生产订单后,系统为其创建预留。
- 发料时参考生产订单和预留,通常使用移动类型
261。 - 可以按存储地点和批次管理实际库存。
项目类别 N:非库存项目
项目类别 N 表示非库存项目。这类组件不是为了日常保有可用库存,而是针对特定计划订单或生产订单直接采购。它可以有物料主记录,也可以没有物料主记录;如果没有物料主记录,必须至少录入描述。
视频在 CS02 中增加“瓶身标签”作为 N 类项目。系统立即进入采购数据页,要求维护采购组织、采购组、供应商、价格、物料组、计划交货时间、成本要素和收货处理时间等字段。


课程演示完成后又删除了临时标签项目,目的是说明字段联动,而不是建议真实项目随意删除 BOM 项目。生产 BOM 变更应使用有效期、工程变更号和完整审批流程。
SAP 官方教程补充:N 类非库存项目的标准行为
SAP Help 将非库存项目定义为“使用前不保有库存、只为特定计划订单或生产订单采购”的项目。官方规则包括:
- 非库存项目必须在 BOM 中维护采购数据。
- 直接采购组件在计划运行时可生成采购申请,而不是普通依赖需求;具体由 MRP 和生产订单管理配置决定触发时点。
- 价格数据可参与审批策略确定。
- 物料组是生成采购申请所需的重要字段。
详细规则见 SAP Help:Non-Stock Items。
SAP Help 对生产订单中的 BOM 项目行为给出了更直接的对应关系:项目类别 L 在订单中创建预留,项目类别 N 在订单中创建采购申请。SAP Help:Data from Bills of Material
这也解释了为什么项目类别不是一个“显示字段”,而是会改变订单后续单据链的控制字段。
四、集成点三:生产订单为库存组件自动创建预留
视频使用 CO01 手工创建生产订单。输入成品、工厂、订单类型和数量后,系统根据生产版本、BOM 与工艺路线带出组件和工序。保存订单时,L 类库存组件自动生成预留。
预留的作用不是立即扣减库存,而是把未来的组件需求与生产订单绑定,提前告诉库存管理:某个日期、某个订单需要某个物料和数量。

课程在生产订单“分配”页签中看到预留号 178,随后使用 MB23 打开该预留。预留中可看到:
- 移动类型
261。 - 来源生产订单号。
- 三个组件的物料、数量和计量单位。
- 工厂、存储地点、批次和需求日期。
- 允许移动、已完成、已删除、已提取数量等状态。

发料前,已提取数量和完成状态为空;261 发料过账后,预留状态会按实际发料结果更新。视频结尾再次查看预留 180,可以看到三项组件的已提取数量和完成标识已经更新。

需要区分两种创建方式:
MB21是手工创建预留的经典事务码。- 生产订单组件的预留通常由系统随订单自动创建,不需要仓库人员再手工录入。
五、集成点四:生产订单中的非库存组件自动创建采购申请
同一个生产订单中,L 类库存组件创建预留;N 类非库存组件则创建采购申请。视频在生产订单组件概览中新增“瓶身标签”,项目类别设置为 N,并把它分配到工序 0040。
接着维护采购组、价格、物料组、计划交货时间等采购数据。保存生产订单后,系统在后台创建采购申请。再次显示订单、打开组件的“采购数据”页签,就能看到采购申请号,并可跳转到 ME53N 查看完整采购申请。


这个场景的职责交接非常清晰:
- PP 负责确认该组件确实属于生产需求,并维护订单、工序和需求日期。
- PP 或主数据人员维护足以生成 PR 的采购字段。
- MM 采购检查采购申请、货源、价格、交付日期、审批和后续采购订单。
- 收货与发票校验继续走 MM 标准采购流程。
常见失败原因包括:物料组为空、采购组无效、价格或成本要素缺失、采购组织与工厂关系未配置、需求日期早于可实现交期,以及订单类型配置没有在预期时点激活采购申请。
六、集成点五:外部加工工序生成外协采购申请
外部加工(External Processing)与完整分包采购不同。完整分包通常把组件交给供应商,由供应商完成整个产品;外部加工只把生产流程中的某一道工序交给供应商,其余工序仍由企业内部完成。
视频的例子包含混合、灌装和包装三道工序。假设灌装机故障,而市场交期不能等待,企业可以把灌装工序交给供应商执行。

控制码决定工序是否外部加工
课程系统中:
PP01表示内部加工。PP02表示外部加工。

PP01、PP02 是课程系统采用的示例控制码。真实客户可以复制或自定义控制码,因此不能把这个值当成跨系统固定标准。正确做法是检查当前系统中控制码的“外部加工”标识以及调度、能力、成本、确认等控制参数。
外部加工页签需要哪些采购数据
工序改为外部加工后,系统要求维护采购数据,常见字段包括:
- 采购信息记录。
- 采购组织和采购组。
- 物料组。
- 供应商。
- 价格、币种和价格单位。
- 计划交货时间。
- 成本要素。
视频使用了一条外协/分包相关采购信息记录,并维护采购组织、采购组和价格。保存生产订单后,在工序“外部加工”页签中出现采购申请号。

随后采购部门可以把 PR 转换为 PO,供应商完成工序后进行相应收货,系统再更新外部加工工序状态。
SAP 官方教程补充:外部加工的控制与采购申请
SAP Help 对生产订单外部加工的标准规则是:只有当控制码允许或规定外部加工时,工序才能由外部供应商执行;外部加工页签必须维护额外采购数据;创建订单时,系统为外部加工工序创建采购申请。SAP Help:External Processing of Operations
SAP 还明确指出,生产订单包含以下任一对象时,会创建外部采购/加工的采购申请:
- 外部加工工序。
- 非库存组件。
采购申请号可分别在工序的外部加工页签和非库存组件的采购数据页签查看。SAP Help:External Procurement/Processing
此外,采购申请何时激活会受到订单类型配置中 Res/PReq 等参数影响。如果系统没有立即创建,可在订单抬头、工序或组件层级执行“激活采购申请/预留”,但该操作必须结合订单状态和配置判断,不能作为长期人工补救方案。SAP Help:Activate Purchase Requisition/Reservation
七、集成点六:261 组件发料与 101 成品收货
生产订单创建并下达后,库存管理需要完成两条核心货物移动:
261:把原材料和组件发给生产订单,原材料库存减少。101:生产完成后把成品收进仓库,成品库存增加。

1. 下达生产订单
新创建的生产订单最初处于创建状态。视频在 CO02 中下达订单并保存。下达后才进入实际执行阶段,仓库可以按订单需求发料。
2. 为课程演示准备组件库存
课程系统中三个组件当前没有可用库存。为了能够演示 261 发料,讲师先在 MIGO 中使用“收货—其他”补充示例库存,画面可见移动类型 561。这是为了搭建培训数据,不是正常生产补货流程;真实项目绝不应为了绕过缺料而随意使用期初库存移动类型。
3. 使用 MIGO 对生产订单执行 261 发料
视频在 MIGO 中选择“发料”和“订单”,输入生产订单号。系统带出三项组件、需求数量、工厂和存储地点。因为物料启用了批次管理,还需要为每一项输入正确批次。

检查并过账后,系统生成物料凭证。生产订单中的“已记录的货物移动”可以显示该凭证、组件、移动类型 261、存储地点、批次和金额。
4. 使用 MIGO 对生产订单执行 101 收货
生产完成后,在 MIGO 中选择“收货”和“订单”,输入同一生产订单号。系统提议订单数量,课程示例把成品收进 FG01,并带出生产订单批次。

过账后再次查看生产订单的“已记录的货物移动”,同一列表中可见三行 261 组件发料和一行 101 成品收货。两个方向分别对应不同物料凭证。

5. 数量与价值同时变化

从数量角度看,261 减少组件库存,101 增加成品库存;从价值角度看,常见记账方向是:
- 261:借记生产订单的实际材料成本,贷记原材料库存。
- 101:借记成品库存,贷记生产订单。
但这只是常见业务解释。实际会计科目、金额和差异处理取决于估价类、自动科目确定、价格控制、订单类型、成本核算变式和结算配置。实施时应由 MM、PP、CO/FI 联合验证物料凭证与会计凭证。
SAP 官方教程补充:261、101 与批次可追溯
SAP Help 的生产订单批次追踪示例明确说明:原材料批次对同一生产订单使用 261 发料,成品批次对同一生产订单使用 101 收货,物料凭证项目成为组件批次、生产订单与成品批次之间的业务关系。SAP Help:Goods Issue and Goods Receipt for Production Order
因此,批次并不是“为了让 MIGO 过账而填的字段”。如果企业需要批次追踪,正确的 261 与 101 关系决定了是否能从成品批次追溯到原材料批次,也决定了召回和质量调查能否形成闭环。
SAP 官方教程补充:MRP 货源确定优先级
视频在采购申请生成后没有继续展开货源确定。SAP Learning 补充了 S/4HANA 在 MRP 运行中确定供应来源的优先顺序:
- 配额安排。
- 带 MRP 标识的货源清单。
- 计划协议。
- 采购合同。
- 勾选“自动寻源”的采购信息记录。

如果没有符合条件的来源,系统仍可能生成未分配来源的采购建议,由采购人员后续处理。官方说明与配图见 SAP Learning:Working with Sourcing and Contract Management。
这对排查“为什么 MRP 创建了 PR,却没有带供应商”尤其重要:问题可能不在 MRP 本身,而在配额、货源清单、计划协议、合同或信息记录的有效性和 MRP 标识。
SAP 官方教程补充:TECO 会清理未完成的预留与采购申请
视频没有覆盖生产订单技术完成(TECO),但它与本课的预留和采购申请直接相关。SAP Help 说明,生产订单技术完成后:
- 订单不再参与 MRP。
- 预留被删除。
- 能力需求被删除。
- 外部加工工序和非库存组件的采购申请被删除。
- 订单获得
TECO状态。
如果已经存在后续采购订单,不能只依赖 TECO 自动解决外部承诺;必须检查采购订单、供应商交付和财务影响。SAP 也提示,TECO 后仍可能允许某些后续过账,例如此前遗漏的领料或确认。因此上线测试应覆盖 TECO、撤销 TECO、未清采购申请和已存在采购订单等边界场景。SAP Help:Completing a Production Order Technically
SAP 官方教程补充:八、端到端测试清单

主数据
- 成品与组件的采购类型、MRP 类型、批量、计划交货时间和收货处理时间正确。
- BOM 用途、替代 BOM、有效期、项目类别
L/N和数量单位正确。 - 生产版本、工艺路线、工作中心和控制码有效。
- 非库存组件和外部加工工序的采购数据完整。
- 采购组织、采购组、物料组、信息记录和货源确定数据有效。
MRP 结果
- 成品内部生产需求形成计划订单。
- 外部采购组件形成采购申请或有效计划协议行。
MD04中需求、供应、数量与日期能相互解释。- MRP 重跑后未固定建议的调整符合计划模式。
- 采购申请是否带供应来源与货源确定规则一致。
生产订单与采购
- L 类组件生成预留,且移动类型和需求日期正确。
- N 类组件生成采购申请,采购申请号可从订单组件追溯。
- 外部加工工序的控制码和采购字段正确,采购申请可从工序追溯。
- 生产订单数量、BOM 组件数量和采购申请数量按比例一致。
- 部分交付、日期变化和订单更改能正确更新后续单据。
库存与财务
- 261 发料正确更新组件库存、批次、预留和物料凭证。
- 101 收货正确更新成品库存、批次、订单交货数量和物料凭证。
- 冲销 261/101 后,库存、预留、订单状态和会计凭证同步回退。
- 物料凭证与会计凭证金额一致,生产订单实际成本方向合理。
- TECO、撤销 TECO、部分发料、部分收货和未清采购单据均经过测试。
SAP 官方教程补充:九、常见问题与排查顺序
1. MRP 没有为外部采购组件创建采购申请
依次检查采购类型、MRP 类型、需求是否真实存在、库存是否已经覆盖、BOM 是否有效、MRP 是否包含该物料、计划协议是否导致系统创建计划协议行,以及该物料是否被转入经典 MRP 处理。
2. BOM 中录入 N 类项目后无法保存
重点检查描述、物料组、价格、采购组、采购组织、计划交货时间和成本要素。系统具体必输字段取决于字段选择和配置;不要用无业务意义的占位值绕过校验。
3. 生产订单保存后没有采购申请
检查订单类型的采购申请/预留激活时点、组件或工序是否真正为外部采购、控制码是否允许外部加工,以及订单当前状态是否满足创建条件。
4. 261 发料提示批次或库存不足
检查实际库存所在的工厂、存储地点、批次、特殊库存和可用日期。不要像培训系统一样用期初库存移动类型临时“造库存”来处理生产问题。
5. 101 收货后订单仍未完成
101 收货只代表成品进入库存,不等于所有工序已经确认、差异已经处理、订单已经技术完成或结算完成。应同时检查确认、交货完成标识、缺失货物移动、在制品、差异和结算状态。
SAP 官方教程补充:十、总结
第 57 课的核心不是记住一组事务码,而是理解系统如何根据业务对象自动选择后续单据:
- MRP 根据采购类型为内部生产创建计划订单,为外部采购创建采购申请或计划协议行。
- BOM 项目类别
L面向库存组件,生产订单为其创建预留。 - BOM 或生产订单中的项目类别
N面向非库存组件,系统为其创建采购申请。 - 外部加工工序由控制码和采购数据驱动,并产生外协采购申请。
- 261 发料与 101 收货把生产执行结果写入库存、批次、生产订单、物料凭证和会计凭证。
只要能够从需求一路追到 MRP、生产订单、采购申请/预留、261/101 物料凭证和会计凭证,就真正掌握了 MM-PP 集成,而不是只会在单个界面中完成操作。


