资讯动态

SAP生产预留实用手册:创建、查询、修改、删除与排错

发布时间:2026/10/16 20:29:33 来源:尧图企业网站定制
简介SAP生产预留操作是生产管理中保障物料供应、支撑计划执行的必要环节。这份docx操作指引面向SAP实施顾问、生产计划及仓储管理人员从预留背景出发系统梳理了预留编码OMC2、工厂级预留参数配置、缺省值与预留可用性检查等基础概念并重点演示MB21手动创建预留、MB23按预留编号查询、MB25按物料查询、MBBR批量创建预留等事务码的具体操作方法与步骤同时覆盖生产自动预留、工单自动预留、预留底表及预留数量校验等进阶内容。文档为单个docx文件约836KB内部采用目录导航与分模块讲解层次清晰便于按需查阅。已有693人学习下载适合需要快速上手SAP生产预留配置与日常操作流程的初学者也可作为企业内部分模块业务培训和知识沉淀的参考资料。1. 生产预留是什么车间领料前的那张“欠料单”生产预留Production Reservation是 SAP 生产模块里最不起眼、但背锅率最高的单据。生产订单一保存BOM 里的组件就自动生成预留计划员每天早上打开 MD04 看到的那一排“预留”需求直接决定了当天的缺料判断和采购建议。它不产生会计凭证不产生实际库存移动却承担着“告诉所有人未来需要什么”的任务。这篇笔记围绕预留的创建、查询、修改、删除和排错展开适合做 PP/MM 的顾问、工厂物控和刚接手 SAP 的生产计划员。所有操作路径和事务码都按标准流程展开拿来就能对着做。2. 生产预留的数据模型三种来源、两类移动类型、一张核心表2.1 预留从哪来手工建、订单自动带、MRP 侧漏生产预留有三种常见来源实际工作里要通过单据内容区分它来自哪一种否则后面改动就会踩雷。第一种是手工预留通过事务码 MD11 直接创建。典型业务场景是某个物料还没挂到生产订单上但车间已经确认某天必须开工计划员先建一张预留把需求“占住”避免 MRP 把这批库存当成多余库存挪给别的订单。第二种是生产订单自动生成CO01 保存生产订单时系统按 BOM 组件逐行生成预留移动类型默认 261需求日期取订单开始日期订单未下达时预留已经存在显示上随订单状态联动但物理记录独立。第三种是计划订单转生产订单时携带过来的预留本质与第二种一致区别只是产生时间更早转换时被“继承”过来。区分手工预留和自动预留别看列表图标要看“订单”引用字段。手工预留的订单号为空自动预留的行项目里带生产订单号。排错时这条差异最关键修改自动预留容易造成订单组件与预留不同步SAP 并不会自动帮你锁死两边。某工厂遇到过这样的情况一张生产订单的组件数量在 CO02 里从 10 改成 8但预留里仍然按 10 占着需求MD04 可用量怎么算都不对最后对比 RESB 表和订单 BOM 行才定位到差异。遇到这种情况正确做法是先在 CO02 里改订单再检查预留是否自动联动没联动的用 MD12 手动改预留数量让两边保持一致。2.2 移动类型261 与 201 的真实差异预留里最重要的一个字段是移动类型Movement Type。生产场景下绝大多数预留要么是 261要么是 201。261 是“按生产订单发料”发料时的消耗计入生产订单成本201 是“按成本中心发料”消耗计入指定成本中心。两者界面几乎一样但财务影响完全不同移动类型含义消耗计入典型场景发料入口261按生产订单发料生产订单车间领用成品组件MB1A 输入预留号自动带出订单201按成本中心发料成本中心维修件、低值耗材MB1A 输入成本中心代号选错的最直接后果是月底成本分摊出错。261 的消耗会汇总到生产订单结算201 的消耗进入成本中心费用。某条产线成本异常偏高时先查预留的移动类型很可能有人把维修领料做成了 261成本被摊到产品头上。还有一类容易混的内部调拨预留移动类型 301/302 或 411/412用于工厂内库存地点间的转移或工厂间调拨。这类预留不产生消耗发料界面多了“收货工厂、收货地点”字段。我的习惯是先跟业务确认“消耗还是调拨”再选移动类型为省事把调拨做成 261月底盘库时库存消失但目标地点没增加非常难看。2.3 后台表 RESB 与几个必须认识的字段所有预留最终落在表 RESB 里。一个预留有一个号码对应一到多个行项目在 RESB 里体现为相同 RSNUM 的多行记录。用 SE16N 查数据最方便重点认识以下字段字段含义排错用途RSNUM预留号MD04 里双击“预留”行跳转的就是它RSPOS行项目号一条预留含多个物料时定位用MATNR物料号按物料反查哪些预留占着需求MENGE预留总数量看需求总量注意计量单位BDMNG初始需求数量改过数量后与 MENGE 对比能看出调整幅度WEMNG已提取数量每次发料累加超过 MENGE 发料会报错BWART移动类型判断是消耗还是调拨XLOEK删除标记置 X 表示逻辑删除物理记录仍保留排错时最常用的操作是按物料号加工厂、排除删除标记查这颗物料到底挂了多少预留、已提了多少。某次仓库一直喊“库存够但发不了料”就是这样查出某张已删除订单的预留没被真正冲掉数量和库存在系统里互相打架。注意 MENGE 与 WEMNG 用的是基本计量单位如果物料基本单位是“吨”订单按“千克”下单比较数量前先换算不然会得出“预留多于需求”的错误结论。3. 新建预留MD11 建单的完整操作与字段设置3.1 进入 MD11 的三种方式创建预留的标准事务码是 MD11。三种进入方式都常用第一种在 SAP 命令框输入 /nMD11 回车最快。第二种按菜单路径“后勤 → 生产 → MRP → 预留 → 创建”适合新手记位置。第三种从 MD04 物料需求清单界面把光标停在某颗物料所在行点击“附加 → 创建预留”系统会把物料号和工厂自动带进预留界面省去手输。无论哪种方式进入后第一屏都要填两个基础参数移动类型和需求日期。移动类型默认填 261业务是成本中心领料就填 201需求日期建议按生产开始日往前推一到两天不要填当天否则 MRP 会认为物料当天就要出库可用量计算偏保守。3.2 创建界面的必填字段清单回车进入行项目后需要维护一张完整的字段表。下表是按重要性排列的必填项字段名称以标准 SAP 界面的显示为准字段作用实操建议物料组件物料号支持通配符搜索量产建议直接输入减少选错数量预留总数按 BOM 净需求填损耗另建预留别混在一起工厂物料所属工厂注意不要被系统记忆成别的工厂库存地点发料时的仓库强烈建议维护留空则发料时手动补需求日期最晚出库日期按产线开工日提前 1 到 2 天生产订单或成本中心帐户分配对象261 填订单号201 填成本中心用途码预留用途说明非必填但建议写“某产线某月某日切换”方便追溯库存地点这个字段常被忽略但它是发料失败的头号原因。预留建的时候不填库存地点MB1A 按预留发料时必须额外指定操作员一旦指定另一个没库存的地点系统直接提示“库存不足”容易被误判为缺料。3.3 保存后验证预留号、MD04 与可用量检查输入完字段后按回车系统做一致性检查物料在工厂是否有效、移动类型是否允许建预留、库存地点是否存在。有错会标红并提示改完再回车。确认无误后保存系统返回一个形如 0000012345 的预留号。保存后的标准验证动作有三个。第一记下预留号后续发料、修改、查询全凭这个号。第二回到 MD04 看该物料确认出现一条“预留”行数量与刚建的一致。第三检查可用量逻辑——预留数量会被纳入未来需求原本库存刚好够到货的物料建完预留后可用量可能显示不足这是正常的说明预留提前暴露了缺口。此时要做的是把到货日期与预留需求日期对齐而不是怀疑系统算错。另外一个验证手段是用 MB1A 按预留号“试发料”进入发料界面输入移动类型 261 和预留号系统能正确带出行项目说明预留结构完好。注意试发料不要真的过账确认带出数量无误后退出。提示MD11 保存后不会产生物料凭证也不会产生会计凭证。预留只是一个数量化的承诺记录。3.4 特殊场景批次、特殊库存与固定数量标记生产预留界面还有几个不常用但关键时候能救场的字段。批次字段物料启用批次管理时预留可以指定批次也可以留空。量产环境我建议留空让仓库在 MB1A 发料时按批次确定规则选指定死某个批次后续该批次一旦被其他订单消耗这张预留就可能发不出来。固定数量指示器勾选后MRP 运行不会自动调整这张预留的数量适合设备维修件这类“数量由工程师说了算”的场景。缺点是灵活性降低数量每次变化都要手工维护忘改会导致 MRP 按旧数量采购。特殊库存标记客户库存E、供应商寄售K等场景下预留界面会出现特殊库存类型字段。这类预留的创建逻辑与普通预留一致但发料时必须指定特殊库存类型否则系统找不到库存。厂内普通物料用不到遇到时按移动类型对应的特殊库存类型选择即可。4. 查询、修改与删除MD12/MD13 的使用边界4.1 MD13 查询预留单号查询与清单查询MD13 是显示预留的标准事务码纯查看界面不能改。最直接的方式是输入预留号后回车进入预留详情表头显示移动类型、需求日期、工厂、用途行项目显示物料号、数量、已提取数量、库存地点。现实工作中更多时候手上没有预留号而是拿着物料号来查。MD13 初始界面不填预留号直接回车进入选择清单界面可以按工厂、物料号、库存地点、需求日期区间组合筛选查出所有未删除的预留。这个入口比 SE16N 直观适合日常核对缺点是数据量大时响应稍慢建议筛选条件务必带上工厂。详情界面里最值得关注的是“已提取数量”WEMNG列。看到 0/100 说明还没发过料看到 80/100 说明已发 80 件还剩 20 件。注意发料后预留不会自动消失只有 WEMNG 达到 MENGE状态才显示“完成”。很多新手看到预留行还在就以为系统错误实际只是未发完。4.2 MD12 修改预留能改的与必须重做的MD12 是修改预留的事务码。入口与 MD13 相同可以按编号直接进也可以从清单里选一条进。修改前建议先 MD13 看清楚现状避免基于错误数据改单。能改的字段数量、需求日期、库存地点、批次、固定数量指示器、文本。数量改大改小都可以改大后可用量立即变化MRP 会重新计算供应缺口改小后多余的库存需求被释放MD04 里的需求会同步减少。需求日期也可以直接改但改了之后 MRP 对到货日期的要求会跟着变采购计划要同步调整。不能改的字段移动类型、物料号。这两个在标准界面上是灰的想换就删掉重建。有人会用“复制”功能MD11 初始界面输入旧预留号回车后系统把原预留作为模板带出改完字段保存成新预留。复制过来的预留号和原单不同但行项目内容继承了原单适合“换物料不换数量”这类批量调整场景。注意修改自动预留时先在 CO03 里看生产订单组件数量订单侧改完再回到 MD12 改预留数量。两边数字必须一致否则 MD04 里同一个物料会同时出现两组不一致的需求采购容易重复下单。4.3 删除预留三种情况下的正确姿势删除预留的标准动作MD12 进入预留详情菜单“预留 → 删除”或点击删除图标确认后预留消失MD04 需求释放。分三种情况处理第一未发料的预留直接删除即可没有凭证牵连。第二部分发料的预留系统会提示已有过账数量此时不建议删除。正确做法是进入修改把预留数量改成实际已发数量让 WEMNG 与 MENGE 相等预留自然关闭。这样订单组件消耗、预留记录、物料凭证三者一致。第三自动预留先到 CO02 删组件行或整单再回 MD12 删预留。不处理订单就删预留下次保存或 MRP 运行预留会重新生成。另一个容易忽略的点MD12 删除是逻辑删除RESB 表里 XLOEK 字段置 X物理记录还在。查询时如果不排除删除标记能看到这些“死”预留但 MD04 里它们不占需求。判断一张预留是真的没了还是只打了删除标记就看 XLOEK。4.4 预留与发料的关系从预留到物料凭证的完整链路预留不是终点终点是发料。一张预留从创建到关闭的完整链路是MD11 建预留MD04 出现需求采购或物控按需求安排到货车间领料时仓库用 MB1A 按预留号发料发料过账生成物料凭证并产生会计凭证RESB 的 WEMNG 累加数量全部提完预留自动关闭。这条链路里最容易出错的是发料时不参照预留。有的操作员嫌麻烦直接在 MB1A 里手工输物料、数量、订单号不引用预留号。这样发料也能过账但预留的 WEMNG 不更新预留还挂着MD04 里需求与库存同时存在库存被重复占用。正确做法MB1A 进入后先输入移动类型 261再输入预留号回车系统自动把预留的行项目、物料、数量、订单号带出来操作员只需要确认数量是否和实际领料一致。这个“带出”动作保证预留和发料同步是整条链路里最值得养成习惯的一步。5. 生产预留避坑五个高频现场问题与排查方法这几条都是生产现场反复出现的问题每条按“现象、原因、解决”拆开讲基本覆盖了预留日常操作里八成以上的求助场景。5.1 预留数量长期挂着MD04 可用量永远不对现象仓库说料在系统说缺MD04 可用量长期低于实物库存。原因需求日期已过但还没发料的手工预留一直在占需求。常见于订单取消后组件预留没清理、BOM 换版后旧组件预留没删。预留不像采购申请不会自动过期没人删它就一直占着。解决先 MD13 按物料查所有未完成预留按需求日期排序。需求日期已过期一个月以上、业务确认不再领用的直接删除。数量大就用 MD13 清单导出功能先筛出明显失效的预留再批量处理。此后每周固定清理一次比月底突击省事得多。5.2 MB1A 发料时找不到预留现象发料界面输入预留号系统提示预留不存在或已删除发料无法进行。原因多半是三个情况之一——预留号输错少一位、两位调换、工厂输错预留按工厂隔离跨工厂查不到、预留状态已完成或已逻辑删除。还有可能是操作员在预留号栏里误输入了物料号。解决先用 MD13 确认预留号、工厂、状态。确认状态是“完成”的说明已经发完不能再引用确认被删除的判断是否需要重建。工厂不一致的话回到 MD11 或 MD12 看清楚这张预留属于哪个工厂再回 MB1A 重输。5.3 发料数量超预留现象MB1A 按预留发料输入数量后系统报“数量超过预留数量”。原因预留剩余量小于本次发料量。WEMNG 加上本次数量大于 MENGE系统为了保护预留完整性直接拦下。解决先查预留剩余量判断是预留建少了还是应该分批发料。预留建少了就 MD12 把数量改大再回 MB1A 发应该分批发的话本次按剩余量发剩下的需求另外建一张新预留。不要图省事直接用不参照预留的方式发料绕过去那样预留 WEMNG 永远不更新后续对账会出现“发了料但预留还挂着”的双重记录。5.4 删了预留过几天它又冒出来现象MD12 删掉一张预留几天后 MD04 里出现一张一模一样的预留连数量都没变。原因这是自动预留源头在生产订单或计划订单。只删预留不删源头订单组件还在下次订单保存或 MRP 运行会重新生成预留。判断有没有源头的简单办法是看 MD13 里订单号字段是否为空。解决按“先源头、后预留”的顺序处理。自动预留先到 CO03 看订单状态确认组件不需要后到 CO02 删组件行整单取消就做删除或技术完成。处理完源头再回 MD12 删预留这次删完就不会再冒出来了。5.5 批次管理物料的预留发料“翻车”现象启用批次管理的物料按预留发料时报“批次未找到”或“批次无效”。原因预留指定了一个批次但该批次库存在这之前已被其他订单取走或者预留没指定批次发料界面的批次确定规则没配置好系统找不到可发批次。解决先在 MD12 看预留的批次字段。指定了旧批次就清空回到 MB1A 用批次帮助重新做批次确定按先进先出自动选择没指定的检查物料主数据的批次确定规则。不要自己硬输一个批次号要先确认该批次在这个库存地点有可用库存。6. 把预留用顺手MD04 联查、批量处理与一个现场习惯预留用顺手的核心是把查询做成日常动作而不是等出了问题再翻后台表。我在工厂里养成的习惯是每天早上在 MD04 做一次全物料“预留需求”过滤把需求日期在三天内、但库存地点没有可用量的预留行拉出来这就是当天的缺料清单。MD04 的“预留”行本身可以直接双击跳转到 MD13从缺料判断到预留详情只要两下点击。预留数量多、要集中核对时用 MD12 的清单模式初始界面不输预留号按工厂、物料、需求日期范围查出一批预留逐行勾选处理。这个入口比 SE16N 安全因为它是计划界面不会误改表数据。另一个值得长期坚持的习惯是“一周一次预留清扫”把需求日期已过期一个月以上、状态仍未完成的手工预留清理掉。自动预留先检查订单状态手工预留直接确认是否还需要不需要就删除。这个动作看起来零碎但能避免绝大多数“可用量算不对”的深夜求助。最后说一个我自己踩过的教训曾经以为删除预留只是点一下按钮结果误删了一张部分发料的自动预留当月发料凭证与订单组件对不上花了整整一个下午冲销纠错。从那以后我给自己定了一条规则删除任何预留之前先看 WEMNG 是不是零不是零就不删用改数量的方式关闭它。规则虽小但确实让后续对账省了很多事。希望帮到你。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑