SAP生产预留全流程:OMC2配置、MB21操作与MBVR批量清理 简介这份《SAP-生产预留-操作》文档面向SAP MM与PP模块的顾问、运维人员及企业生产计划岗位从业者聚焦生产预留这一日常高频操作帮助读者系统掌握从参数配置到预留创建、查询与批量处理的完整流程。资源包共1个docx文件约836KB内容以图文操作指引为主结构按知识点分节编排便于按需查阅。文档覆盖预留背景、OMC2预留编码、缺省值与工厂级预留参数配置、预留可用性检查以及MB21手动创建、MB23按预留编号查询、MB25按物料查询、MBBR批量创建、MBVR批量处理等事务码操作并延伸至OPL8生产订单控制、工单自动预留、预留底表与预留数不超过库存数等进阶要点。目前已有695人学习下载适合需要快速上手或查漏补缺的SAP用户对照实操也可作为企业内部培训与操作规范的参考材料。1. 生产预留到底在管什么从一张工单缺料说起车间里最怕的不是没料是料在账上、却发不出来。某公司计划员遇到过这种情况生产订单已经下达BOM 展开后物料需求清清楚楚可仓库说这批料被别的需求锁住了工单领不出来产线只能停着等。问题不在库存数量而在预留——SAP 里提前把物料“占”给某个需求的那条记录。生产预留就是干这个的在物料真正出库之前先把它锁定给一张工单、一个成本中心或一个研发项目保证需要的时候拿得到。这份《SAP-生产预留-操作》文档把 OMC2 号码分配、OPL8 自动预留开关、MB21/MB23/MB25/MBBR/MBVR 这一整套事务码串了起来适合已经上手 SAP MM 或 PP 模块、但被预留“勾没勾 M”“超期删不掉”“自动预留改不了”折腾过的从业者。下面按配置、操作、批量处理、自动预留、底表排查的顺序拆开讲每一步都落到能复现的参数上。2. 预留的后台地基OMC2 号码段、缺省值与可用性检查预留能不能用顺七成看后台配得对不对。前台 MB21 点得再熟后台号码段没配、移动开关没开、可用性检查规则挂错照样翻车。这一章把 OMC2、缺省值、工厂参数、动态可用性检查四块配置讲透配完再进前台操作才不会白忙。2.1 OMC2 预留编码号码段决定预留号从哪来预留号不是随便生成的它走的是 SAP 标准的号码段机制配置入口在 OMC2。路径是SPRO → 物料管理 → 库存管理和实际库存 → 号码分配 → 为预留定义号码分配。进去之后你会看到按号码范围分段的列表每段有编号区间和当前状态。操作上分两步先看有没有现成的号码段可用没有就新增一段填好起始号和结束号再把号码段分配给预留对象。这里有个容易忽略的点——号码段分内部给号和外部给号。内部给号就是系统自动往下发外部给号允许手工输入预留号。生产场景一般用内部给号避免人工编号冲突。配置项常见取值说明号码范围01 / 02 等每段独立区间互不重叠当前编号系统维护记录下一个可用号外部给号一般不勾勾了才能手工输预留号配完保存前台 MB21 创建预留时系统就会按这个段自动发号。如果创建时报“号码范围不存在”或“号码段未分配”八成是这里漏了分配动作回去补上即可。2.2 缺省值与移动开关M 勾不勾决定料能不能发缺省值配置在 SPRO → 物料管理 → 库存管理和实际库存 → 预留核心是那个 MVT 勾选项。勾上之后前台创建预留时“M”允许的移动默认就是勾选状态物料随时可发不勾就得手工去点。这里要分清两个控制入口。后台 MVT 是全局默认前台还有一条路菜单“编辑 → 附加功能 → 用于所有项目 → 移动开关”可以针对多行项目批量控制 M 是否勾选。实际业务里计划员一般不会一创建就把 M 全勾上——料还没到、工单还没排产提前勾了反而让库存被无效占用。常见做法是临近发货才勾这也是文档里强调“一般临近才勾选不勾选不可用”的原因。缺省值里还有三个参数值得盯天数 M填 10 就表示可以提前 10 个工作日发货控制的是“允许移动”的时间窗口。保持预留保留 30 天超期会被物理删除这是后面 MBVR 清理的依据。MRA为预留自动创建存储地点库存数据涉及存储地点层面的库存归属。这三个值不是拍脑袋填的要和工厂实际的采购提前期、生产节拍对齐。填短了料还没到预留就过期填长了僵尸预留占着库存不放。2.3 工厂级参数与动态可用性检查02 和 03 从哪来工厂级预留参数配置在后台 → 物料管理 → 库存管理和实际库存 → 工厂参数。这一层是给单个工厂做个性化覆盖的比如某个工厂发货节奏快天数 M 可以单独调。真正决定 MB21/MB22 能不能创建、创建时检查什么的是动态可用性检查路径SPRO → 物料管理 → 库存管理和实际库存 → 预留 → 设置动态可用性检查。这里的规则由两个东西共同决定物料主档 MRP3 视图里的可用性检查字段加上动态可用性检查配置下的事务代码。文档里点明了 02 和 03 这两个规则分别对应 MB21 和 MB22 的可用性检查行为。配置逻辑是这样的物料主档 MRP3 里挂一个可用性检查规则比如 02动态可用性检查配置里再把这个规则和具体事务码绑定。这样系统在创建预留时就知道该按哪套逻辑去校验库存够不够。如果主档没挂规则或者配置里没绑事务码可用性检查就是空转预留数超库存也能建出来——这正是后面 2.11 那个“预留数不超过库存数”要解决的问题。提示改完可用性检查配置记得让物料主档重新读取必要时用 MM02 进 MRP3 视图确认规则已生效否则前台行为不会变。3. 前台操作全流程MB21 建、MB23/MB25 查、MBBR/MBVR 批量后台配好只是铺路日常干活全在前台这几个事务码上。这一章按“建—查—批量建—批量处理”的顺序走一遍每个事务码给出操作步骤和关键字段说明新手能照着点熟手能对照检查自己的操作习惯有没有漏项。3.1 MB21 手动创建预留成本中心 201、生产 261、研发 Y10MB21 是手动创建预留的入口菜单路径后勤 → 物料管理 → 库存管理 → 预留 → MB21 - 创建。典型业务场景是新品研发没法对工单发料又想把这种消耗纳入系统做全局控制走申请后创建成本中心预留。操作步骤输入 MB21 回车进入创建界面。填物料、工厂、需求日期、数量。选移动类型——成本中心投料用 201生产发料用 261研发领用按 Y10。决定 M 是否勾选勾了随时可发不勾则不可用。保存系统按 OMC2 号码段生成预留号。移动类型的选择直接决定后续 MIGO 发货时的科目走向。201 走成本中心261 走生产订单Y10 是研发专用。选错了发货时要么科目不对要么根本发不出去。这里没有后悔药建之前先确认业务归属。M 的勾选时机是另一个实操要点。文档里说得很直白勾了 M 就可以随时发货即使一个月以后发货一般临近才勾。原因是 M 一旦勾上这条预留就进入“可发货”状态库存被实质锁定。如果提前很久勾中间工单变更或取消这条预留就成了占着库存的僵尸还得回头用 MB22 去改。3.2 MB23 与 MB25按预留号和按物料两条查询路径建完预留要能查得到、看得清。SAP 给了两个入口用途不同。MB23 是按预留编号查。输入预留号回车直接跳到该预留的明细界面能看到预留状态、数量、需求日期、移动类型、M 是否勾选。工单自动生成的预留也在这里查——文档里提到“通过生产订单 CO03 的 BOM 和预留 MB23 都可以查看物料的需求数量”。CO03 看的是订单视角MB23 看的是预留视角两边数量对不上时优先信 MB23因为它是预留底表的直接呈现。MB25 是按物料查。输入物料号系统列出该物料下所有预留记录。这个入口适合做物料维度的排查某个料明明有库存却发不出去用 MB25 一拉就能看到它被哪些预留占着、各自占了多少、M 勾没勾。计划员排产前用 MB25 过一遍关键物料能提前发现预留冲突。两个事务码配合用MB25 定位问题物料MB23 深挖具体预留。别只用一个容易漏。3.3 MBBR 批量创建与 MBVR 批量处理超期预留的清理逻辑单条建预留效率低批量场景用 MBBR。它支持一次录入多条预留行项目适合研发领用、成本中心投料这类成批发生的业务。操作上把物料、数量、需求日期、移动类型按行填好一次性提交系统批量生成预留号。真正需要重点讲的是 MBVR它是批量处理预留的工具核心用途有两个清理超期预留、批量勾选 M。文档里把逻辑讲得很清楚我按自己的理解复述一遍后台配了“允许移动的天数 10”和“保持期间 30”之后以基准日期为准如果基准日期 − 过去的需求日期 30 天跑 MBVR 时系统会删除距离基准日期 30 天以外的预留直接从数据库删。如果将来的需求日期 − 基准日期 10 天跑 MBVR 时系统会自动勾选这些预留的“允许的移动”让它们可以提前收货。这里有个血泪经验MBVR 不会自己跑。后台配置只是定义了规则如果没人定期执行这个程序超期预留永远躺在表里系统不会自动清除。文档里也点了这一句——“如果没人操作后台的设置也就不起作用了”。常见做法是配两个后台 JOB一个负责清理 30 天外的超期预留一个负责勾选 10 天内的临近预留每天各跑一次。JOB 用 SM36 建程序挂 MBVR 对应的后台程序变式里带上工厂和基准日期参数。配好之后预留的“生老病死”才算闭环。注意MBVR 删除是物理删除删之前确认没有未清的发货需求。生产环境跑之前先在测试客户端验证变式参数别一上来就全工厂跑。4. 生产自动预留OPL8 开关与工单联动手动预留解决的是计划外需求生产订单的物料需求靠的是自动预留。这一章讲 OPL8 怎么控制自动预留的生成时机以及自动预留和手工预留之间的边界——哪些能改、哪些不能改、冲突了怎么办。4.1 OPL8 订单类型参数从不、下达后、立即三档怎么选自动预留的总开关在 OPL8路径SPRO → 生产 → 生产线控制 → 主数据 → 订单 → 定义订单类型的相关参数。进去找到对应的订单类型里面有一个控制预留生成时机的字段三个取值从不该订单类型不生成自动预留物料需求不通过预留锁定。下达后订单状态变成 REL已下达之后才生成预留。立即订单创建时立即生成预留。选哪档取决于业务节奏。离散制造里工单创建到实际投产往往有间隔选“下达后”比较稳——没下达的工单变数大提前锁料容易造成库存虚占。流程制造或节拍紧的场景选“立即”能让物料需求第一时间进入 MRP 视野。这个字段改完对已有订单不追溯只影响新创建的订单。切换档位前想清楚存量订单怎么处理。4.2 自动预留的查看与修改边界自动预留生成后查看路径和手工预留一样CO03 看订单的 BOM 和需求MB23 看预留明细。两边数量应该一致不一致时查订单是否刚下达、预留是否还在生成中。关键边界在这里自动产生的预留无法用 MB22 修改。文档里写得很明确。原因是自动预留和订单强绑定数量、日期都由订单和 BOM 推导手工改了就和订单脱节。但可以走 MIGO 发货——发货动作不受这个限制。另一个坑MB21 手工创建时如果系统已经为该需求自动创建了预留再手工建会失败。文档里提到“MB21已自动创建预留后无法再手工创建预留”。遇到这种情况先 MB23 查一下是不是已经有自动预留了别重复建。还有一组概念容易混承诺量和预留不是一回事。承诺量commitment是销售侧对客户的交期承诺预留是库存侧对物料的锁定。两者数据来源和用途都不同排查时别拿承诺量去对预留数。5. 避坑与排查预留底表、超期清理和数量控制配置和操作都顺了还是会遇到“明明配了却没生效”的情况。这一章把几个高频翻车点按“现象 → 原因 → 解决”列出来再讲预留底表 RKPF/RESB 怎么查最后说清预留数不超过库存数这个控制是怎么实现的。5.1 五个高频踩坑记录坑一配了保持 30 天超期预留却一直不删。现象后台明明设了保持期间 30 天几个月前的预留还在。 原因MBVR 不会自动执行后台配置只是规则没有 JOB 驱动就是摆设。 解决用 SM36 建后台 JOB挂 MBVR 程序每天跑一次变式带工厂和基准日期。坑二M 勾了发货还是发不出去。现象预留上 M 已勾选MIGO 发货仍报错。 原因可能是可用性检查规则没配对或者物料主档 MRP3 的规则和动态可用性检查配置不匹配。 解决MM02 进 MRP3 确认可用性检查字段再回配置核对 02/03 规则绑定。坑三自动预留想改数量MB22 进不去。现象工单自动生成的预留MB22 修改报错。 原因自动预留与订单绑定设计上不允许手工改。 解决改订单的 BOM 或数量让系统重新推导预留或走 MIGO 按实际发货。坑四手工建预留提示已存在。现象MB21 创建时报错说已有预留。 原因该需求已被自动预留覆盖。 解决MB23 查确认用现有预留不重复建。坑五预留数超过库存也能建出来。现象库存 1001已预留 2理论上可用 999但建 1001 的预留居然成功了。 原因可用性检查没生效或者物料主档没挂检查规则。 解决确认 MRP3 可用性检查字段和动态可用性检查配置让系统在创建时校验可用量。5.2 预留底表 RKPF 与 RESB查数据问题的最后一道前台查不到、对不上时直接看底表。预留涉及两张核心表表名作用关键字段RKPF预留凭证头预留号、凭证日期、基准日期RESB预留行项目预留号、行号、物料、数量、移动类型、M 标志RKPF 存的是预留的“头”一条预留一条头记录RESB 存的是行项目一条预留可以有多行物料。排查时用 SE16N 或 SE16 按预留号关联查能直接看到 M 标志的实际存储值、需求日期、删除标志。前台显示和底表不一致的情况极少但一旦遇到以底表为准。5.3 预留数不超过库存数的控制逻辑文档 2.11 讲了一个很实用的控制库存不够时可以创建预留但预留数不能超过可用库存。举例说得很清楚——库存总数 1001已经预留了 2 个可用就是 999那么新建预留最多 999建 1000 可以建 1001 不行。这个控制的实现依赖前面 2.3 讲的动态可用性检查。系统在 MB21 保存时按物料主档挂的检查规则去算可用量超出就报错。如果这个控制没生效回头查三处物料主档 MRP3 的可用性检查字段是否为空、动态可用性检查配置里规则和事务码是否绑定、工厂参数里有没有覆盖。三处都对了控制才会真正拦住超量预留。6. 把预留管成闭环JOB 编排与日常核查习惯预留这东西配好只是开始跑起来之后靠的是日常核查和后台 JOB 的稳定执行。我自己的习惯是每周固定做一次预留健康检查配合两个后台 JOB基本能把僵尸预留和临期预留都兜住。后台 JOB 的编排思路一个清理 JOB挂 MBVR变式里基准日期用动态日期计算比如当天负责删 30 天外的超期预留一个勾选 JOB同样挂 MBVR变式参数调成勾选 10 天内的临近预留。两个 JOB 用 SM36 建SM37 查执行日志。跑失败常见原因是变式里工厂没填或基准日期写死改成动态计算就稳了。日常核查我一般走这三步MB25 拉关键物料每周对 A 类物料跑一遍 MB25看预留占用是否合理有没有长期不动的僵尸预留。MB23 抽查自动预留随机抽几张已下达工单用 MB23 核对预留数量和 BOM 需求是否一致不一致的查订单变更记录。SE16N 查 RESB对怀疑有问题的预留直接查 RESB 的 M 标志和删除标志确认前台显示和底表一致。核查项事务码/表频率关注点关键物料预留占用MB25每周僵尸预留、超量占用自动预留一致性MB23 CO03每周抽查数量与 BOM 是否匹配底表核对RESB / RKPF按需M 标志、删除标志超期清理MBVR JOB每日JOB 是否成功执行有个教训我记了很久早年间以为后台配了保持期间就万事大吉结果半年后一查超期预留堆了几千条库存可用量被虚占MRP 跑出来的需求全是错的。从那以后我每次上线预留配置都强制走一遍“配规则 → 建 JOB → 验证执行日志 → 抽查底表”这四步少一步都不放心。预留管的是库存的“信用”信用乱了后面计划、采购、生产全跟着乱。希望帮到你。本文还有配套的精品资源点击获取