首页 / 资讯中心 / 文章详情

SAP生产预留全流程指引:从OMC2配置到MBVR自动清理

SAP生产预留全流程指引:从OMC2配置到MBVR自动清理 ★ FEATURED ARTICLE
简介一套聚焦SAP生产预留操作的docx实操手册适合SAP MM/PP模块顾问、生产计划员及需要处理物料预留的初学者。文档从预留背景切入完整区分手动与自动两种预留方式系统梳理OMC2预留编码结构、缺省值及工厂级预留参数配置、预留可用性检查逻辑并逐一演示MB21手动创建预留、按预留编号MB23查询、按物料MB25查询及MBBR批量创建预留的详细操作步骤。进阶内容还涵盖批量处理MBVR、生产订单自动预留OPL8、工单自动预留、预留底表以及预留数不超过库存数等常见检查项能帮助读者从参数配置到日常事务处理形成闭环认知。包体为单个836KB的docx文件目录与页码完整章节划分清晰适合作为内部培训手册或顾问日常排错参考目前已有696人学习下载。1. 把 SAP 生产预留跑顺从 OMC2 到 MBVR 的完整操作链路做 SAP 生产预留实施的人都会有同感操作手册把 MB21、MB23 讲得清清楚楚但真正让工厂跑顺的往往是几个不起眼的开关——M 标记勾不勾、保持期设多少天、OPL8 选下达后还是立即。这份《SAP 生产预留操作指引》把预留从 IMG 配置到前台操作再到批量清理拆成完整链路连预留底表和库存校验逻辑都给了。适合刚接手物料管理模块的顾问也适合被超期预留占库存、工单自动预留和手工预留对不上这类问题反复折腾的工厂内部用户。2. 预留配置链路从 OMC2 编码到动态可用性检查预留不是建一张单子那么简单。在 IMG 里把号码分配、缺省值、工厂参数、可用性检查这四件事定下来之前前台操作做得再顺也容易中途翻车。我一般按文档给出的顺序往下走先给预留一个编号段再设全局缺省值然后落到工厂级参数最后才去碰动态可用性检查。2.1 预留编码 OMC2先给预留一个编号段配置路径是 SPRO-物料管理-库存管理和实际库存-号码分配-为预留定义号码分配。预留号由系统自动取号按工厂和年份范围生成。新增工厂时如果忘记维护编号范围MB21 保存时会直接报号码范围不存在。提示编号范围建议按年工厂拆分方便后续用 MB23 按号段筛选也能避免单号段被批量任务打爆。2.2 缺省值M 标记、提前发货天数与保持期SPRO-物料管理-库存管理和实际库存-预留这一层集中了一组全局缺省值文档里列了四个关键项。参数建议值作用天数 M10工作日允许提前发货的天数保持30天预留保留 30 天超期由 MBVR 删除MRA勾选为预留自动创建存储地点库存数据MVT勾选控制前台 M 开关默认勾选M全称是允许的移动标记直接影响预留能不能提前发货。文档强调勾选 M 就可以随时发货即使一个月以后发货一般临近才勾选不勾选不可用。也就是说 M 不勾预留存在但仓库发不了货库存被白白占住。前台也能通过菜单编辑-附加功能-用于所有项目-移动开关批量改多行的 M 勾选不用逐条双击。保持 30 天这里有一个典型误解后台配了保持期系统不会自动清理必须运行 MBVR 才执行删除逻辑这点到第 4 章展开。MRA 的作用是给预留自动补存储地点库存数据跑 MRP 和发货时少很多存储地点缺失的报错。2.3 工厂级预留参数与可用性检查工厂级参数在物料管理-库存管理和实际库存-工厂参数下维护和缺省值配合使用控制的是单个工厂内部预留行为的细节比如是否允许跨存储地点、是否检查库存。不同工厂业务流程不同参数分开配比全局统一更稳。可用性检查的设置在 SPRO-物料管理-库存管理和实际库存-预留-设置动态可用性检查。真正生效的组合由两部分决定物料主档 MRP3 视图里的可用性检查字段加上动态可用性检查事务代码配置的规则。文档里提到的 02 和 03 两个规则决定 MB21/MB22 创建或修改预留时按什么逻辑查库存。我一般建议生产物料配 03普通备件配 02但前提是物料主档上的维护值要对齐否则会出现明明有库存MB21 保存却提示不够的怪现象。改可用性检查参数只影响新建和修改预留时的校验已经存在的预留不会重新检查。所以上线前就要把 02/03 规则和物料主档一起梳理完上线后再调往往要连带清理历史预留数据。3. 手动创建与查询MB21、MB23、MB25 完整闭环配置层就绪后日常用得最多的就是 MB21 建预留、MB23 按号查、MB25 按料查。这三件事是前台闭环新用户最容易把移动类型搞混。3.1 MB21 手动创建移动类型与业务场景手动创建预留的典型场景文档说得很直白新品研发还没法对工单实施发料又想把这部分消耗纳入 SAP 全局控制申请后创建成本中心预留。落到实际就是三类转储、成本中心投料、生产投料。移动类型用途201成本中心投料261生产订单投料Y10研发自定义移动类型菜单路径是后勤-物料管理-库存管理-预留-MB21 创建。以成本中心预留为例完整操作进入 MB21录入预留日期和成本中心回车后维护物料、数量、工厂、库位移动类型选 201再视发货计划勾选 M。保存后系统给出预留号。201 和 261 的差别在成本对象201 面向成本中心261 面向生产订单Y10 这类自定义类型是开发顾问按公司研发流程配的没有标准逻辑可套实施时要向配置顾问要一份移动类型说明。M 标记的逻辑在 MB21 界面同样适用。文档的结论是一般临近才勾选不勾选不可用。这里临近指的是临近需求日期提前勾选会让仓库提前发货备料如果生产计划没定货发出去就容易变成闲置库存。3.2 按预留编号查预留 MB23MB23 适合已知预留号核对信息比如工单自动预留号、MBBR 批量生成的预留号。查出来主要看项目行的需求数量、已发货数量、M 标记、可用性检查是否通过。生产订单的自动预留也可以在 MB23 里看到需求数量——文档后面讲自动预留时专门提到通过 CO03 看 BOM 和通过 MB23 看预留两个入口都能确认物料需求数量。3.3 按物料查预留 MB25MB25 不认预留号认物料。输入物料号、工厂加上移动类型可选项系统列出所有关联预留和对应数量。查某个料被哪些预留占用用 MB25 最直接。比如仓库反馈备料发不出用 MB25 一查就知道是不是被 30 天外的旧预留占住了配合库存报表 MMBE 看可用量就能判断是补建预留还是清旧预留。手动预留的流转终点一般是 MIGO 按预留发货发完后预留数量自动扣减需求归零后预留关闭。预留本身会被 MRP 纳入考虑这也是文档开篇强调的核心预留存在的意义就是保证物料在需求时间点可用MRP 看到预留会把它当作真实需求避免物料又被别的订单占用。4. 批量预留与自动清理MBBR、MBVR 和两个后台 JOB手动预留适合单条处理工厂里一旦涉及期初上线、月度备料、大量工单就得靠批量。MBBR 解决批量创建MBVR 解决批量修改和清理。这一章把两个事务码的用法和背后逻辑讲透。4.1 MBBR 批量创建预留什么时候用MBBR 可按物料、工厂、移动类型、需求日期等选择条件一次性生成多条预留。典型场景是 SAP 上线期初导入历史预留、月度生产计划批量备料、研发部门批量提料。批量创建时要注意编号范围——前面 OMC2 配的号码段如果间隔太小大批量导入会把号码打爆。MBBR 和 MBVR 在文档里放在相邻小节实际使用上也常搭配MBBR 建完用 MBVR 统一处理 M 标记。4.2 MBVR 的清理逻辑30 天删除与 10 天勾选MBVR 的界面是按选择条件列出预留清单人工勾选或去勾 M也可以走自动清理逻辑。文档把后台配置和 MBVR 的运行机制结合得很好关键在两句判断以基准日期为准如果基准日期 - 过去的需求日期 30 天运行 MBVR 时该预留会被物理删除如果将来的需求日期 - 基准日期 10 天系统会自动勾选允许的移动。用代码表达这个判断逻辑大概是from datetime import date base_date date.today() # 基准日期通常为运行当天 for line in reservation_lines: past_demand line.requirement_date_before # 过去的需求日期 future_demand line.requirement_date_after # 将来的需求日期 if (base_date - past_demand).days 30: line.delete() # 距离基准日期 30 天外删除预留 elif (future_demand - base_date).days 10: line.allow_movement True # 距离基准日期 10 天内勾选“允许移动”逻辑说明这段简化代码是 MBVR 处理超期预留和临期预留时的核心判断。第一分支删除 30 天外的旧预留目的是把长期不消耗的需求清掉释放库存第二分支给 10 天内的需求放开提前发货标记。参数说明30 和 10 都不是写死的对应后台缺省值里的保持和天数 MMBVR 读的是后台配置后台改值运行逻辑跟着变。4.3 两个后台 JOB 的落地配置只是把规则摆在那不会自己执行。文档里那句话很实在如果没人操作后台设置也就不起作用了系统不会自动清除超期预留。这条值得每个实施顾问记下来。正确做法是建两个后台作业SM36每天各跑一次第一个 JOB 跑 MBVR 的清理事务处理距离基准日期 30 天以外的预留删除第二个 JOB 跑 MBVR 的勾选事务处理距离基准日期 10 天以内的预留自动勾选 M。建议时间窗口避开月结和仓库盘点时段在早上库存事务高峰期前各跑一轮。JOB 跑完看日志确认删除数量和勾选数量在合理范围。我见过因为选择条件写错一键把整个工厂旧预留全删光的案例——那不是系统问题是条件没圈定工厂范围。5. 生产订单自动预留与避坑排查OPL8 的三个选项和五条踩坑记录手动预留适合成本中心和研发生产投料的主力其实是工单自动预留。生产订单创建后系统按 BOM 展开生成组件预留这个行为由 OPL8 控制。这一章先讲参数再把实施中常见的翻车点列出来。5.1 OPL8订单类型控制预留生成时机配置路径是 SPRO-生产-生产线控制-主数据-订单-定义订单类型的相关参数。订单类型参数页里有一个控制预留时点的选项文档给了三个取值。参数值行为从不生产订单不生成预留下达后订单下达状态变成 REL才生成预留立即订单创建后立刻生成预留我一般建议选下达后订单刚创建还在调整 BOM 和数量时预留先不生成避免留下占库存的残留下达代表计划确定这时生成预留最贴合实际备料节奏。选立即的工厂往往是希望 BOM 一展开就能从 MB23 看到需求但代价是订单未下达阶段的预留也要跟着维护。从不基本只在非标准生产场景用日常不建议。生产订单的组件需求数量可以从两个入口核对CO03 打开生产订单看 BOM 组件MB23 查看该订单对应的预留号。两边数量应该一致如果不一致优先怀疑 BOM 变更后预留没同步。5.2 自动预留与手工预留的冲突自动预留有三个特性要记住。第一自动预留无法通过 MB22 修改但可以正常 MIGO 发货所以改预留需求数量要回到订单 BOM 改而不是直接改预留。第二承诺量与预留不一样承诺量来自可用性检查的 ATP 计算回答的是还能接多少单预留是实实在在占住库存的需求记录两者对不上不一定有问题。第三自动预留创建后不能再手工创建同样的预留系统会提示预留已存在。预留由系统按订单自动管手工去掺和反而容易乱。5.3 五条踩坑记录整理五条高频问题按现象-原因-解决记录如下超期预留清不掉。现象旧预留一直占库存MB25 查出来一大把。原因后台保持期配了但 MBVR 没人跑也没有后台 JOB。解决建两个 JOB 每日执行一个清 30 天外一个勾 10 天内。MB21 保存报库存不足。现象MMBE 看有库存建预留却提示可用量不够。原因可用性检查组合不对动态可用性检查事务代码 02/03 和物料主档 MRP3 的可用性检查字段没对齐。解决核物料主档可用性检查字段按工厂统一一套组合。工单预留和手工预留重叠。现象同一物料既有自动预留又有手工预留数量翻倍。原因订单未下达前手工建了预留下达后又自动生成。解决以 OPL8 参数为准订单场景一律用自动预留手工预留只留给成本中心和研发。MBBR 批量生成的预留后面改不动。现象MB22 打开部分字段灰掉。原因批量生成的预留部分参数受选择条件锁定。解决用 MBVR 做批量勾选和清理别在 MB22 硬改。转储预留无法保存。现象工厂间转储建预留报号码分配错误。原因目标工厂没维护预留编号范围或工厂参数缺失。解决补 OMC2 编号范围和工厂级预留参数。这类可用性检查配置前后不一致的问题排查起来有时很玄学但只要按先核物料主档、再核动态可用性检查规则、最后看 OPL8的顺序走大多数都能定位到根因。6. 预留底表与预留数约束把 RESB/RKPF 变成日常工具预留做到最后免不了要直接查底表。文档把底表关系写得很清楚RKPF 是预留凭证头RESB 是预留行项目。头表存预留号、基准日期、创建信息行项目存物料、数量、需求日期。自开发报表或者排查重复预留直接连这两个表比反复点事务码快得多。SELECT rkpf~rsnum AS 预留号, rkpf~bdter AS 需求日期, resb~matnr AS 物料, resb~bdmng AS 预留数量, resb~enmng AS 已发数量 FROM rkpf INNER JOIN resb ON resb~rsnum rkpf~rsnum WHERE resb~matnr 物料号 AND rkpf~bdter 当天日期 ORDER BY rkpf~rsnum;6.1 底表查询的注意点实际使用中不要直接改 RESB 的数据预留状态跟着订单和发货走手工改表很容易把数量搞乱。查询时留意预留的删除状态字段报表里要按业务需要过滤掉已删除的记录否则统计预留占用数时会虚高。6.2 预留数不超过库存数的可用量算法文档里的例子很适合用来验收预留控制是否生效。设置成库存不足时不能创建预留后逻辑是可用数量 库存总数 - 已预留数量。库存总数 1001已预留 2可用是 999那么预留数不能超过 999创建 1000 会报错1001 更不行。这段逻辑听起来简单但工厂经常漏配——不配的话预留数和库存数可以倒挂备料时才发现仓库没货只能紧急调拨救火。从那以后我每次给工厂配预留参数都强制走一遍流程检查 OPL8 下达参数确认 MBVR 两个后台 JOB 在跑再用1000/1001这种简单数据验一遍库存校验开关。这三件事都过了预留基本不会出大乱子。这份指引里每一步都标了配置路径和出处照着过一遍能省掉不少后期扯皮希望帮到你。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?
咨询建站