ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

SAP生产预留全链路:MB21配置、批量处理与工单自动预留

SAP生产预留全链路:MB21配置、批量处理与工单自动预留

简介:面向SAP MM/PP模块用户及生产计划、物料管理岗位的学习者,这份docx操作指引聚焦生产预留从配置到查询的完整流程,可用于岗位培训、日常操作对照与问题排查。压缩包内仅1个docx文件,大小约836KB,内容以步骤说明和事务码讲解组织,适合按目录快速定位。文档围绕预留背景、OMC2预留编码、缺省值及工厂级参数配置展开,并讲解预留可用性检查、MB21手动创建与维护、MB23按预留编号查询、MB25按物料查询、MBBR批量创建、MBVR批量处理,以及OPL8生产订单控制、工单自动预留和预留底表等要点,兼顾概念理解与实操参照。目前已有697人学习,可帮助读者梳理常见预留场景的操作路径与检查思路。

1. 先搞清楚 SAP 生产预留到底在解决什么问题

SAP 生产预留不是把库存锁死,而是先占一个需求凭证:告诉系统这批料在某个日期要出库,MRP 要把它算进去,仓库发货时能查到对应依据。这份《SAP-生产预留-操作.docx》把后台配置、手动 MB21、批量 MBBR、清理 MBVR、工单自动预留 OPL8 和底表 RKPF/RESB 串成了一条线。

适合正在做 MM/PP 模块的关键用户、内部顾问和运维,尤其是新品研发没有工单却要控制消耗、生产订单自动预留重复报错、月底发货发现 M 标志没勾的场景。下面按配置到操作到排查的顺序拆。

2. SAP 生产预留的后台骨架:OMC2、缺省值和动态可用性检查

后台配置决定了前台 MB21 长什么样、保存时会不会报可用性检查、预留放久了会不会被清掉。很多人一上来就急着建预留,结果编号段没分配、MVT 没勾、动态检查规则没落到物料主档,前台操作就会时灵时不灵。血泪经验是先把这几项配完,再用一条测试预留跑通,别等月底发货才翻车。

2.1 OMC2 号码分配:先定编号段,再谈操作

预留编号 RSNUM 是后面 MB23、MBBR、MBVR 和底表查询的钥匙。OMC2 管的就是这个编号段。路径在 SPRO-物料管理-库存管理和实际库存-号码分配-为预留定义号码分配。进去后先看号码范围有没有分配给预留对象,再看当前编号用到哪里、是否年度相关。

常见做法是内部编号给系统自动生成,外部编号只留给接口或批量导入,并且要加校验,避免外部传重。号码段不要等用尽才补,尤其是测试客户端和生产客户端共用传输时,号段被写坏会导致 MB21 保存直接报号码范围不存在。操作步骤可以按下面走:

  1. 进 OMC2,检查预留对应的编号范围是否存在。
  2. 维护号码范围:起始、截止、当前编号,确认年度依赖是否符合公司要求。
  3. 把号码范围分配给预留对象,保存并传输到测试客户端。
  4. 用 MB21 建一条测试预留,记下 RSNUM,确认编号连续且能 MB23 查到。
  5. 如果用了外部编号,补一段导入校验,重复编号在保存前拦掉。
配置项建议原因
编号范围类型内部为主,外部为辅内部连续,外部容易重复
当前编号上线前预留余量号段用尽会阻断 MB21
年度依赖按公司编号规则统一跨年度复制号段容易漏
传输配置随请求传输测试和生产号段不一致会报错

注意:OMC2 改完不要只在自己的客户端测试,换一个没缓存的用户再跑一次 MB21,确认号码段已经生效。

2.2 缺省值:MVT、天数 M、保持 30 天和 MRA 到底管什么

缺省值路径在 SPRO-物料管理-库存管理和实际库存-预留。这里几个字段直接影响前台操作习惯:MVT 勾选后,前台新建预留时行项目的 M 标志默认勾上;天数 M 表示可以提前发货的工作日天数,原文给的是 10 天;保持表示预留可以保留 30 天,超期由 MBVR 做物理删除;MRA 用于为预留自动创建存储地点库存数据。

MVT 勾不勾是个取舍。默认勾选省操作,但会让预留一建出来就可发货,仓库可能提前把料发掉;不默认勾选,临近发货再勾,控制更稳,但需要操作员记得勾。我一般建议生产类预留不默认勾 M,成本中心或转储类看管理粒度决定。前台也有移动开关:编辑-附加功能-用于所有项目-移动开关,可以多行项目统一勾选或取消 M。

参数含义常见设置注意点
MVT前台 M 标志默认勾选按业务决定默认勾选会降低发货门槛
天数 M允许提前发货的工作日10 天不是自然日,排程要看工作日
保持预留保留天数30 天超期由 MBVR 删除,不是自动发生
MRA自动创建存储地点库存数据按仓库管理需要别和预留可用性检查混为一谈

注意:后台配了 30 天保持期不等于系统会自动清理。没人跑 MBVR,超期预留会一直躺在表里。

2.3 工厂级参数与动态可用性检查:02 和 03 规则怎么落到 MB21

工厂级参数在后台物料管理-库存管理和实际库存-工厂参数里维护。和预留相关的开关不要多个工厂一把改,先挑一个工厂验证。动态可用性检查在 SPRO-物料管理-库存管理和实际库存-预留-设置动态可用性检查里配,规则 02 和 03 会决定 MB21/MB22 的可用性检查行为。物料主档 MRP3 里的可用性检查组也要对上,否则前台会表现成“有时检查、有时不检查”的玄学。

动态可用性检查不是只看当前库存,它按需求日期滚动算可用量。也就是说,同一物料今天够,不代表下个月的需求日期也够;反过来,今天不够,换个日期可能就能保存。配置时先把物料主档的可用性检查组设好,再到动态检查里看 02/03 规则是否覆盖 MB21/MB22。验证步骤建议这样:

  1. 选一个测试物料,在 MRP3 里维护可用性检查组。
  2. 在动态可用性检查里确认 02/03 规则与检查组匹配。
  3. 用 MMBE 看当前库存,用 MB25 看同物料已有预留。
  4. MB21 建一条接近可用上限的预留,保存看是否报错。
  5. 改需求日期或数量再保存,确认检查按日期滚动。
对象配置位置影响
工厂参数后台工厂参数工厂级预留行为
动态可用性检查预留-设置动态可用性检查MB21/MB22 保存校验
物料主档 MRP3可用性检查组决定物料走哪套检查
规则 02/03动态检查配置控制检查范围和事务

注意:只改后台不改物料主档,会出现部分物料检查、部分物料不检查。上线前按物料类型抽样跑一遍。

2.4 配置验证:用一条预留把后台参数跑通

配置完不要直接等业务来用,自己建一条测试预留把链路跑通。先 MB21 选成本中心投料场景,移动类型 201,数量控制在可用库存以内,观察 M 是否按 MVT 默认勾选;保存后记 RSNUM,用 MB23 查头行,用 MMBE 看库存是否被预留占用;再用 MB22 改数量,看可用性检查是否触发;最后用 MBVR 测试运行,观察 30 天保持期和 10 天移动窗口有没有按预期命中。

通过标准不是“能保存”这么简单,而是:编号连续、M 默认符合预期、超量保存会报错、改日期后报错消失、MBVR 测试日志能看到超期和临近发货两类记录。测试客户端跑完再传生产,别拿生产号段做实验。

3. 手动创建 SAP 生产预留 MB21:从成本中心投料到 M 标志勾选

MB21 是这份操作指引里最常用的入口。它适合新品研发暂时没法对工单发料、又想把消耗纳入系统控制的场景,也适合转储、成本中心投料。手动预留建完不是结束,后面还有 MB23 查编号、MB25 按物料查、MMBE 看库存、MIGO 发货,任何一个环节脱节都会让预留变成黑匣子。

3.1 MB21 的适用场景:别拿预留替代采购申请

新品研发阶段没有生产工单,但研发领料要进系统,常见做法是建成本中心预留,移动类型用 201;生产投料用 261;研发专用移动类型原文给的是 Y10,具体以公司自定义为准。转储场景也可以用预留先把需求挂住,等实际转储时再发货。预留会被 MRP 考虑,所以它不是一张孤立的查询单,而是需求池的一部分。

但预留不能替代采购申请。预留只表示“这个物料在某个日期有需求”,不自动变成采购订单;库存不够时,是否允许建预留取决于可用性检查配置。把预留当采购申请用,会出现需求一大堆、采购没动作、MRP 跑完还是缺料的情况。

3.2 逐字段操作:预留类型、移动类型 201/261/Y10、需求日期和数量

MB21 的菜单路径是后勤>物料管理>库存管理>预留>MB21-创建。进去后先填预留类型、工厂、需求日期,再逐行填物料、数量、移动类型和接收对象。成本中心投料填成本中心,生产投料填订单,研发按 Y10 的接收对象填。数量不要拍脑袋,先 MMBE 看可用,再 MB25 看同物料已占多少。

字段填法说明
预留类型按业务选择影响编号和字段布局
工厂实际需求工厂跨工厂需求要分开建
需求日期实际要货日期影响动态可用性检查
物料需要出库的料号先确认物料主档可用性检查组
数量不超过可用库存超量会被检查拦下
移动类型201/261/Y10决定后续发货和成本归集
接收对象成本中心/订单/研发对象不能空,否则发料无归属
M 标志临近发货再勾不勾不可发货

保存后系统给出 RSNUM,马上用 MB23 查一遍,确认行项目、数量、移动类型和 M 状态都对。不要等仓库来问才回头查。

3.3 M 标志与移动开关:什么时候勾、为什么不能一直勾

M 标志控制这条预留能不能发货。勾上就可以随时发货,即使需求日期在一个月以后;不勾就不可用。原文的建议是临近才勾,这个习惯能避免仓库提前把料发走。后台 MVT 决定新建时默认勾不勾,前台移动开关可以多行统一勾选或取消。

实际操作里最容易翻车的是“以为建了预留就能发”。仓库在 MIGO 里选不到预留,十有八九是 M 没勾。另一个坑是批量勾选后没保存,或者移动开关只对当前行生效。批量处理可以用 MBVR 自动勾临近 10 天的预留,但前提是 JOB 真的在跑。

注意:M 不是审批标志,它只控制发货可用性。审批流要另外做,别把 M 当成放行章。

3.4 查询三件套:MB23、MB25、MMBE 各看什么

MB23 按预留编号查,适合拿到 RSNUM 后看头行、已发数量、M 状态;MB25 按物料查,适合月底盘点看这个料被哪些预留占了;MMBE 看库存总览,适合判断可用量够不够。三个事务码交叉看,才能确认“预留数量、已发数量、库存可用”三者对得上。

事务码输入输出场景
MB23预留编号预留头行、已发数量单条预留追踪
MB25物料、工厂该物料所有预留月底按料对账
MMBE物料、工厂库存、预留占用判断可用量
MB22预留编号修改手工预留自动预留通常改不了

MB22 能改手工预留,但自动生成的预留一般不能改。改之前先 MB23 看来源,别在 MB22 里硬改,改不动还以为是权限问题。

3.5 发货闭环:MIGO 过账后回头查已发数量

预留建完,仓库用 MIGO 选预留发货,移动类型按 201/261/Y10 走。过账后回 MB23 看已发数量,再 MMBE 看库存减少。部分发货时,预留数量不变,已发数量累加,未发数量就是差额。月底对账重点看 M 已勾但长期未发的预留,以及已发数量超过需求数量的异常。

如果 MIGO 报错,先查 M 有没有勾、移动类型和预留行是否一致、接收对象是否有效,再查库存和期间。不要一上来就改预留数量,先把发货链路看清楚。

4. 批量与自动预留:MBBR、MBVR 定时任务和 OPL8 工单控制

手工一条条建预留只适合少量场景,量一上来就要靠 MBBR 批量创建、MBVR 批量处理、OPL8 工单自动预留。这三块配不好,会出现“预留建了一堆没人发”“超期预留删不掉”“生产订单下达了却没有预留”的连锁问题。自动预留尤其要搞清楚:它和承诺量不是一回事。

4.1 MBBR 批量创建:模板决定下限,日志决定成败

MBBR 适合大量成本中心投料或转储预留。常见做法是先 MB21 建一条标准预留当模板,把预留类型、工厂、移动类型、接收对象规则定好,再进 MBBR 批量维护行项目。执行前先模拟,执行后看日志,最后 MB23 抽查几条,别一口气跑完就当成功。

批量字段注意点
模板预留移动类型和接收对象要固定
物料/数量先导出校验,避免空行
需求日期影响可用性检查
工厂跨工厂要拆批次
日志失败行要逐条看原因

注意:MBBR 不绕过可用性检查。批量跑失败,先看库存和动态检查,不要反复重跑。

4.2 MBVR 不是自动清道夫:30 天保持期和 10 天移动窗口要靠 JOB

MBVR 用来清理超期预留、批量勾选 M,但系统不会自动帮你跑。原文的解释很关键:后台配了允许移动天数 10、保持期间 30 天后,以基准日期为准,基准日期减过去需求日期大于 30 天,MBVR 运行时会对 30 天以外的预留做删除;将来需求日期减基准日期小于 10 天,MBVR 运行时会自动勾选允许移动。注意删除是数据库层面的物理删除,跑之前先测试运行。

常见做法是后台设两个 JOB,一个处理前 30 天超期,一个处理后 10 天内临近发货,每天各跑一次。JOB 用 SM36 建,程序选 MBVR,变式里带好工厂、基准日期和测试/正式标志。跑完用 SM37 看日志,别只看 JOB 状态是绿色。

JOB处理对象动作频率
超期清理基准日期-需求日期>30删除超期预留每天
临近勾选需求日期-基准日期<10自动勾 M每天

注意:MBVR 删除不可逆。第一次上线先在测试客户端跑模拟,确认变式和基准日期没有偏移。

4.3 OPL8 订单类型参数:从不、下达后、立即三种自动预留策略

OPL8 路径在 SPRO-生产-生产线控制-主数据-订单-定义订单类型的相关参数。这里控制生产订单是否自动生成预留,常见三档是“从不”“下达后”“立即”。选从不,生产订单不会自动建预留,要靠 MB21 手工补;选下达后,订单状态变成 REL 才生成预留;选立即,订单创建时就生成。三档没有绝对好坏,看管理粒度。

策略触发时点适用场景风险
从不不自动生成手工控制强的场景容易漏建
下达后状态 REL 后常规生产未下达就没有预留
立即创建即生成急需锁定需求订单变更后预留处理麻烦

配置改完用 CO01 建测试订单,CO03 看组件和状态,再用 MB23 查自动预留。不要在生产订单类型上直接试,先复制一个测试订单类型。

4.4 工单自动预留的连锁反应:MB22 不能改、MB21 不能再建、MIGO 仍可发

自动预留生成后,常见的连锁反应是:MB22 改不了,因为系统认为它由订单控制;MB21 不能再手工建同物料同需求的预留,会报重复;但 MIGO 仍然可以发货。要调整数量或日期,正确路径是改生产订单组件或取消订单预留后重下,不是去底表硬改。

原文还提到承诺量与预留不一样。承诺量是 ATP 层面的可用性承诺,预留是需求凭证。拿预留当承诺量看,会误判可接单能力;拿承诺量当预留看,会漏掉仓库备料依据。

4.5 自动预留和承诺量的边界:MRP 看预留,销售看承诺

MRP 会把预留当需求考虑,所以预留建多了会推高需求;承诺量更多影响销售接单和 ATP 检查。两边口径要分开对账:MB23/MB25 看预留,ATP 相关报表看承诺。月底如果发现“库存够但发不出”,先查预留占用和 M 标志;如果发现“能接单但生产缺料”,先查 MRP 需求和生产订单组件。

5. 生产预留常见问题排查:MB21 报错、M 勾不上、预留删不掉

这一章按现象、原因、解决三段式写,都是上线后高频踩坑。排查顺序建议从主数据到后台配置再到 JOB,别一上来就改代码或删表。

5.1 现象:MB21 保存提示可用性检查失败

现象是数量明明小于 MMBE 看到的库存,MB21 还是保存不了。原因通常是物料 MRP3 的可用性检查组和动态检查规则 02/03 已经生效,需求日期落在检查区间,而可用库存被其他预留、订单组件或库存冻结占掉了。解决先 MMBE 看非限制库存,再 MB25 看同物料所有预留的未发数量,然后调需求日期或数量;如果业务确实要超可用,走审批或先补库存,不要直接改检查规则绕过去。

5.2 现象:M 标志灰色、勾不上,或批量勾选后不生效

现象是行项目 M 勾选灰掉,或者前台移动开关勾了保存后又变回去。原因常见有三类:后台缺省值 MVT 没勾导致默认不可编辑;预留是自动生成的,M 由订单控制;用户权限或状态限制。解决先看 MB23 的预留来源,自动预留去 OPL8 和订单侧处理;手工预留用编辑-附加功能-用于所有项目-移动开关批量勾,再检查后台缺省值和权限。不要反复点,先确认来源。

5.3 现象:MBVR 跑了但超期预留还在

现象是 SM37 看 JOB 绿色,MB23 查超期预留仍然存在。原因可能是 JOB 没带对变式、基准日期偏移、保持期没配到目标工厂、只跑了测试运行没跑正式,或者预留还有未清数量不满足删除条件。解决先 SM37 看日志里的删除条数和拒绝原因,再 MBVR 测试运行对照;检查后台保持 30 天和天数 10 是否落到工厂,最后确认两个 JOB 都在跑。物理删除前一定先模拟。

5.4 现象:生产订单已下达却没有自动预留

现象是 CO03 状态已经是 REL,MB23 查不到对应预留。原因常见是 OPL8 订单类型设成了“从不”,或者虽然设了“下达后”但组件没有展开、物料不参与预留、工厂参数不匹配。解决先 CO03 看组件和状态,再 OPL8 看订单类型参数,必要时重新展开组件;如果订单类型改过,用新订单测试,不要拿老订单反复试。

5.5 现象:自动预留生成后 MB21 报重复、MB22 改不了

现象是手工 MB21 保存提示已存在预留,MB22 进去字段灰掉。原因是系统已经按订单自动创建预留,禁止重复手工创建;自动预留的数量和日期由订单组件控制,MB22 不允许改。解决用 MB23 查自动预留,正常发货走 MIGO;要调整就改生产订单组件或取消订单预留后重下。不要为了改数量去删 RKPF/RESB,底表一动,订单和库存全对不上。

6. 用 RKPF/RESB 做预留对账:一条查底表加验证的进阶路径

MB23 适合单条查,月底按工厂、物料、日期对账时,底表更快。预留凭证头在 RKPF,行项目在 RESB,RSNUM 关联头和行。下面这段 ABAP Open SQL 按工厂、物料区间和凭证日期查头行,重点看 BDMNG 需求数量和 ENMNG 已发数量,差额就是未发。字段名以 SE11 为准,不同系统可能有增强字段。

" 按工厂、物料和凭证日期区间查预留头行,字段名以 SE11 为准 SELECT rkpf~rsnum, rkpf~werks, rkpf~budat, resb~rspos, resb~matnr, resb~bdmng, resb~enmng FROM rkpf INNER JOIN resb ON resb~rsnum = rkpf~rsnum INTO TABLE @DATA(lt_resb) WHERE rkpf~werks = @p_werks AND resb~matnr IN @s_matnr AND rkpf~budat GE @p_date_from AND rkpf~budat LE @p_date_to.

逻辑很直接:RKPF 是凭证头,RESB 是行项目,RSNUM 关联;BDMNG 是需求数量,ENMNG 是已发数量;p_werks 是工厂,s_matnr 是物料区间,p_date_from/to 是日期范围。跑出来先按物料汇总 BDMNG 和 ENMNG,再和 MMBE 库存、MB25 预留清单三方对。差额大且 M 已勾很久的,优先查是不是漏发货;差额为负的,查是不是重复发货或单位换算问题。

我以前只盯 MB23 单条看,觉得对上了就完事,后来月底对账发现同一物料十几条预留,手工翻到眼花。从那以后每次上线预留相关配置,我都强制走一遍“测试客户端建预留、MBVR 模拟、RKPF/RESB 汇总对账”这三步,再让业务签字。需要原文档里后台截图和菜单路径对照的,直接拿《SAP-生产预留-操作.docx》按章节翻一遍就行,希望帮到你。

本文还有配套的精品资源,点击获取

返回列表