资讯动态

SAP库存调拨移动类型311/313/301原理与在途库存解析

发布时间:2026/10/24 15:14:51 来源:尧图企业网站定制
简介本资源是一份面向SAP MM模块初、中级实施顾问与库存管理从业者的实操指南聚焦库存调拨与发货核心业务场景系统解析MB1B事务代码下五类关键移动类型311/313/315/301/303等的适用条件、操作逻辑与后台配置要点尤其深入说明一步/二步转储、在途库存查看MB52/MB5T/MMBE、工厂间调拨对MRP的影响及转储订单推荐实践。资源为1个2.25MB的Word文档.docx内容结构清晰涵盖流程图解、事务码对照表、典型凭证示例及UB参数配置说明便于快速查阅与现场应用。目前已有1520人学习下载适合需在真实项目中高效处理跨库存地、跨工厂物料转移规避价值差异与计划偏差的SAP用户。1. SAP库存调拨不是“点一下就走”311/313/301这些数字背后藏着90%新人踩坑的在途库存黑匣子某导师带学生做模拟项目X时让A同学用MB1B 311把100个零件从A库位调到B库位系统显示“过账成功”但第二天生产领料报错“物料不可用”。查MB52——B库位确实没货查MB5T——空最后翻MBE发现100个全卡在“在途”状态。A同学当场懵住“我根本没做二步操作怎么会有在途”——这就是SAP库存调拨最典型的认知断层你以为的“一步到位”其实是系统按后台配置悄悄拆成了两步你以为的“库存已转移”其实是系统在等你补收货动作。本文讲透的不是事务码列表而是哪类调拨必须走二步、为什么313发货后MB52里看不到减少、工厂间转储为何强制推荐转储订单、以及MB1B 351不生成单据却报4500错误的真实原因。适合刚接手SAP MM模块的实施顾问、负责跨工厂库存协同的计划员以及被“在途库存消失”问题反复折磨的运维同事。所有操作均基于标准SAP S/4HANA 2022 MM模块逻辑不依赖SD模块扩展所有配置路径可直接复现。2. MB1B移动类型选型311/313/301不是菜单选项是库存所有权与MRP可见性的分水岭SAP中“调拨”二字背后实际承载三重含义物理位置变更、库存所有权转移、MRP需求传递触发。不同移动类型MVTY正是这三者的组合开关。选错移动类型轻则库存数对不上重则MRP跑出错误采购建议。以下从底层逻辑出发拆解五类高频移动类型的适用边界与隐含约束。2.1 同一工厂内库存地调拨311一步到位 vs 313315二步闭环同一工厂下A库存地→B库存地表面看只是货架挪动但系统处理逻辑截然不同MVTY 311一步转储执行MB1B → 输入移动类型311 → 指定物料、数量、A库位发、B库位收。系统行为立即扣减A库位库存立即增加B库位库存无中间状态。MB52刷新后A库位-100B库位100干净利落。提示311仅适用于同一工厂、同一评估范围、同一库存状态如非限制使用的调拨。若A库位为“质检中”B库位为“非限制”311会直接报错“库存状态不兼容”。MVTY 313 315二步转储第一步MB1B → 313 → A库位发货 → 系统生成物料凭证如1234567890A库位库存立即减少100但B库位不增加第二步MB1B 或 MIGO → 315 → B库位收货 → 输入上一步凭证号 → B库位增加100。关键现象313执行后MB52中A库位已减B库位仍为0此时查MBE或MB52的“在途库存”视图会看到100个状态为“在途”的记录。这是SAP的标准设计——313创建“在途库存”315消耗它。# 验证在途库存的两种方式命令行思维实际在GUI中操作 # 方式1MBE - 输入工厂物料号查看在途库存字段需勾选显示在途库存 # 方式2MB52 - 输入工厂进入后点击工具栏设置→布局→勾选在途库存列逻辑说明313/315组合本质是模拟“物流运输过程”。系统认为货物已离开A地但尚未抵达B地期间存在丢失、损毁风险故冻结这部分库存不参与MRP运算也不允许生产领用。只有315收货完成系统才解除冻结释放库存。2.2 工厂间调拨301直通 vs 303305受控MRP敏感度决定选型工厂A→工厂B的调拨核心矛盾在于MRP需求是否需要跨工厂传递。例如工厂B缺料需从工厂A调拨MRP系统必须知道“工厂B未来有需求工厂A有余量”才能生成转储建议。301与303/305在此处产生根本分歧MVTY 301工厂间一步转储MB1B → 301 → 输入工厂A发、工厂B收、物料、数量。系统行为工厂A库存立即减少工厂B库存立即增加MRP不感知此次调拨。适用场景紧急手工调拨、MRP未启用、或两个工厂完全独立运营如不同法人实体。注意301绕过MRP意味着工厂B的后续MRP运行不会因这次调拨而减少采购需求可能造成重复采购。MVTY 303 305工厂间二步转储第一步MB1B → 303 → 工厂A发货 → 工厂A库存减工厂B库存不变生成“在途库存”第二步MB1B/MIGO → 305 → 工厂B收货 → 工厂B库存增。关键机制303发货时系统自动向工厂B的MRP区域写入一条“在途收货”需求Requirement Type: UB。MRP运行时会将此需求纳入计算避免重复采购。配置前提必须启用“转储订单”Stock Transport Order, STO且STO类型需配置为“MRP相关”。2.3 物料状态转换343/344不是库存移动是库存可用性的闸门控制MB1B 343冻结→非限制、344非限制→冻结这类移动类型不改变库存总量只改变库存状态标识。其价值在于精细化库存管控344非限制→冻结将正常可用库存标记为“冻结”冻结库存不可用于生产领料、销售发货、MRP运算但物理存在。常用于质量争议待判定物料客户退货待处理批次法规要求隔离的特定批次如医疗器械序列号管理。343冻结→非限制解除冻结恢复可用性。注意343操作需权限控制且通常需关联质量检验结果如QA11确认否则可能违反GMP等合规要求。# 伪代码示意状态转换的系统校验逻辑非真实ABAP仅说明原理 if movement_type 344: # 非限制→冻结 if not user_has_freeze_authority(): raise PermissionError(用户无冻结权限) if material_has_active_inspection_lot(): raise ValidationError(存在未完成质检批次禁止冻结) # 冻结成功更新MCHB表中的SPERR冻结标志字段为X参数说明状态转换的核心表是MCHB批次库存表字段SPERR控制冻结状态。344将SPERRX343将其清空。所有下游事务如MB52、CO09读取此字段决定是否显示该批次。2.4 物料到物料调拨309价差黑洞与财务对账雷区MVTY 309用于“同一物料不同库存地点/工厂移动平均价不同”的场景。例如工厂A移动平均价10工厂B为12调拨100个系统会生成价差凭证会计科目差异科目。但强烈不建议常规使用原因有三财务复杂度飙升每次调拨触发价差计算需额外配置差异科目、月结时需核对价差余额MRP失真MRP按移动平均价计算成本价差导致B工厂成本虚高影响毛利分析审计风险同一物料在不同地点价格不一致需提供完整价差依据如运费分摊规则否则审计质疑。替代方案统一全集团移动平均价通过定期重估或改用301/303调拨由财务在月末统一调整价差。3. 后台配置生死线转储订单STO与凭证类型绑定决定MB1B是“直通”还是“卡在半路”MB1B能否顺利执行70%取决于后台配置是否闭环。尤其当用户反馈“MB1B 301报错4500”或“313发货后MB52不减库存”问题必出在配置层。本节聚焦三个强耦合配置点转储订单类型、凭证类型分配、装运点主数据。3.1 转储订单STO类型配置UB与NB的本质区别转储订单是工厂间调拨的“法律契约”其类型如UB、NB决定了整个流程走向配置项UB类型标准NB类型自定义关键差异MRP关联是Requirement Type: UB否Requirement Type: KEUB触发MRP需求NB不触发SD集成否纯MM流程是生成交货单VL01NNB需维护装运点UB无需收货方式MIGO/MB1B 305VL02N交货单收货UB收货走库存模块NB走物流模块凭证流仅物料凭证MB01物料凭证交货凭证VL01N发票凭证MIRONB流程长UB流程短配置路径OMGN→ 选择工厂 → “定义转储订单类型” → 双击UB → 查看“MRP相关”和“SD相关”复选框。血泪经验若误将UB的“SD相关”勾选系统会强制要求输入装运点否则报错“未维护装运点”此时MB1B 303无法执行。3.2 凭证类型Document Type分配MB1B背后的“隐形指挥官”每个移动类型301/303/311等必须绑定凭证类型如WA、WE、NL凭证类型又关联着是否生成会计凭证如WA生成FI凭证WE不生成是否检查库存地点必填WE强制要求输入库位WA不要求是否允许负库存某些凭证类型禁用负库存。配置路径OMJJ→ 输入移动类型如301→ 双击进入 → “凭证类型”字段填写WA标准库存凭证。关键验证若301执行后MB52库存未变首要检查OMJJ中301是否绑定了WA。若误配为WE交货凭证系统会跳转至SD模块而当前未启用SD直接报错。3.3 工厂装运点主数据303/305的“交通管制站”工厂间二步转储303305要求发货工厂必须维护装运点Shipping Point否则303执行失败。装运点是SAP中物流执行的物理节点关联运输方式如卡车/铁路装运条件如装车时间窗口工厂一个工厂可配多个装运点。配置路径OVX2→ 输入工厂 → 维护装运点如0001→OVX3→ 为装运点分配装运条件如0001→OVX6→ 将装运条件分配给工厂。玄学排查若303报错“未找到装运点”但OVX2已维护需检查OVX6中该工厂是否被分配了装运条件。常见疏漏只做了OVX2忘了OVX6。3.4 避坑MB1B执行失败的四大高频现场与根因定位现象 → 原因 → 解决全部来自某公司真实运维日志拒绝理论空谈现象MB1B 301执行成功但MB52中工厂A库存未减少工厂B未增加。原因移动类型301在OMJJ中绑定的凭证类型为WE交货凭证而非WA库存凭证。系统尝试走SD流程但SD未激活静默失败。解决OMJJ中将301的凭证类型改为WA重新执行。现象MB1B 313发货后MB52显示A库位已减但MBE中“在途库存”为0B库位始终为0。原因工厂主数据OX10中该工厂的“库存地点必需”未勾选导致313未校验库位系统默认使用工厂级库存而工厂级库存不支持在途概念。解决OX10中勾选“库存地点必需”并确保313操作时明确输入A/B库位。现象MB1B 351同一公司不同工厂一步转储报错“凭证范围4500不存在”。原因后台未配置转储订单类型UB的凭证范围Number Range。351本质是UB的快捷入口需先在OMJ2中为UB分配凭证范围如4500。解决OMJ2→ 选择UB → “凭证范围” → 分配范围4500需先在FBN1中创建范围4500。现象MB1B 344非限制→冻结执行后MB52中该批次仍显示“非限制”冻结未生效。原因批次主数据MSC3N中该批次的“特殊库存标识”被设为K客户寄售而344仅对E自有库存有效。解决MSC3N中将批次特殊库存标识改为E再执行344。4. 在途库存可视化与追踪从MBE/MB52到自定义报表揪出“消失的10个零件”在途库存Stock in Transit是SAP库存管理中最易被忽视的“幽灵库存”。它不显示在标准MB52中却真实占用资金、影响MRP、阻碍生产。掌握其追踪方法是判断调拨流程是否闭环的黄金标尺。4.1 标准事务码实战MBE、MB52、MB5T的适用边界与参数陷阱MBE库存概览输入工厂物料号 → 点击“在途库存”按钮 → 显示该物料在本工厂内的所有在途记录如313发货未315收货。注意MBE默认不显示“工厂间在途”需在屏幕顶部菜单“设置”→“用户参数”→勾选“显示工厂间在途”否则303发货的在途库存不可见。MB52库存清单输入工厂 → 进入后点击“设置”→“布局”→勾选“在途库存”列 → 列表中每行末尾显示“在途”数值。关键参数MB52的“在途库存”列仅显示本工厂内库存地间的在途313/315不显示工厂间在途303/305。若需查工厂间在途必须用MB5T。MB5T工厂间在途库存输入发货工厂→ 输入物料号 → 执行 → 显示该物料从本工厂发往所有接收工厂的在途数量。血泪参数MB5T中“接收工厂”字段留空则显示所有接收工厂的汇总若填入具体工厂如1000则只显示发往1000的在途。新手常填错为“发货工厂”导致查不到数据。4.2 自定义ALV报表用SE38快速构建在途库存监控看板标准事务码无法满足多维度下钻如按采购订单号、批次、供应商追踪在途此时需自定义报表。以下为某公司实际使用的SE38程序核心逻辑简化版REPORT z_stock_in_transit. TABLES: mkpf, mseg, t001w. TYPES: BEGIN OF ty_output, werks TYPE werks_d, 工厂 lgort TYPE lgort_d, 库存地点 matnr TYPE matnr_d, 物料号 charg TYPE charg_d, 批次 menge TYPE menge_d, 在途数量 bwart TYPE bwart_d, 移动类型 aufnr TYPE aufnr_d, 采购订单号 END OF ty_output. DATA: it_output TYPE STANDARD TABLE OF ty_output, wa_output TYPE ty_output. SELECT m~werks m~lgort m~matnr m~charg m~menge m~bwart m~aufnr INTO TABLE it_output FROM mseg AS m INNER JOIN mkpf AS k ON m~mblnr k~mblnr WHERE m~bwart IN (303, 313) 只取发货移动类型 AND m~shkzg S 借方发货为借方 AND k~cpudt sy-datum - 30. 近30天 LOOP AT it_output INTO wa_output. 补充工厂名称t001w表 SELECT SINGLE name1 INTO wa_output~name1 FROM t001w WHERE werks wa_output~werks. MODIFY it_output FROM wa_output. ENDLOOP. CALL FUNCTION REUSE_ALV_GRID_DISPLAY EXPORTING i_structure_name TY_OUTPUT TABLES t_outtab it_output.逻辑说明从MSEG物料凭证明细表筛选移动类型为303/313且方向为“发货”shkzgS的记录关联MKPF物料凭证抬头获取凭证日期限定近30天关联T001W工厂主数据补充工厂名称提升可读性输出ALV表格支持按任意列排序、导出Excel。参数说明shkzgS表示借方Soll在SAP中发货记借方收货记贷方Haben此参数是区分“在途”与“已收货”的核心。4.3 在途库存清理MIGO收货不是万能钥匙305/315的强制校验逻辑当在途库存长期挂起如303发货后305未执行需人工干预清理。但绝不能直接删凭证正确做法是补收货或冲销补收货推荐MIGO → 选择“收货” → 输入原303的物料凭证号如1234567890→ 系统自动带出物料、数量、接收工厂 → 执行。强制校验MIGO 305会校验接收工厂是否与303中发货工厂配对T16F表中工厂配对关系接收库存地点是否在接收工厂主数据中激活物料在接收工厂是否启用了“收货”功能OMJJ中305是否绑定凭证类型。冲销慎用若303凭证已过期如超90天且无法补收货可用MBST冲销303凭证。后果冲销后A工厂库存恢复B工厂无变化在途库存清零。但MRP中已生成的“在途需求”不会自动删除需手动在MD04中删除该需求。提示MD04中查找“在途需求”的技巧输入接收工厂物料号 → 在需求列表中找“需求类型UB”、“需求日期303凭证日期”的条目 → 右键“删除”。5. 工厂间调拨的MRP穿透从MB52的“假平静”到MD04的“真风暴”如何让MRP看见你的调拨工厂间调拨303/305的价值90%体现在MRP运算中。但新手常陷入一个幻觉MB52里工厂B库存为0就以为MRP会紧急采购。实际上MRP是否“看见”调拨取决于303发货时是否成功写入“在途需求”。本节带你穿透MB52的表层平静直击MD04中的MRP风暴现场。5.1 MRP需求类型Requirement Type解码UB、KE、KE1的生死时速MRP运行时所有需求被归类为“需求类型”不同需求类型触发不同逻辑需求类型触发来源是否影响采购建议是否影响库存可用性典型场景UB转储订单STO303发货是生成转储建议是占用可用库存工厂A→工厂B的MRP联动KE销售订单SD是生成采购建议是占用可用库存客户订单驱动采购KE1计划订单PP是生成采购建议否不占用可用库存主生产计划MPS输出关键验证在MD04需求追溯中输入工厂B物料号 → 查看“需求”标签页 → 若303发货成功应看到一行“需求类型UB”数量303发货量需求日期303凭证日期。若无此行说明303未触发MRP需求MRP将忽略此次调拨继续生成采购订单。5.2 MD04深度下钻从“UB需求”到“转储订单源头”的四层穿透法MD04是MRP诊断的终极武器。以下为某公司标准排查流程可定位99%的MRP不响应问题第一层确认UB需求存在MD04→ 输入工厂B、物料号 → “需求”页签 → 查找“UB”行 → 记录“需求日期”与“凭证号”如4500123456。第二层反查转储订单STOME23N→ 输入凭证号4500123456→ 查看STO抬头 → 确认“发货工厂”为A“接收工厂”为B“状态”为“已发货”。第三层验证STO与303凭证关联ME23N→ 进入STO → 点击“凭证流” → 查看“物料凭证”行 → 凭证号应与MB03中303的凭证号一致。若为空说明303未通过STO执行而是手工MB1BMRP不感知。第四层检查MRP区域配置OMDQ→ 输入工厂B → 查看“MRP区域” → 确认“MRP类型”为PDMRP或ND无MRP且“MRP控制者”已分配。若为NDMRP直接忽略所有需求。5.3 MRP重跑策略何时该“强制刷新”何时该“静待花开”MRP不是实时引擎其运算有固定周期如每日凌晨2点。因此303发货后UB需求不会立刻出现在MD04中需等待MRP运行等待策略推荐303执行后不立即重跑MRP而是等待下一次计划运行如次日凌晨。因为MRP运行是资源密集型任务频繁重跑影响系统性能。实操技巧MD01中查看“上次MRP运行时间”若距今2小时可等待若24小时再考虑手动触发。强制重跑应急仅当生产急需且MRP未运行时使用MD01→ 输入工厂B → “MRP类型”选PD→ “执行” → 勾选“后台处理” → 提交。警告MD01重跑会锁表影响其他用户务必避开业务高峰。5.4 转储订单STO的MRP闭环验证从MD04到CO09的端到端追踪真正的MRP闭环需验证“调拨需求→采购建议→采购订单→收货→库存增加”全链路。以工厂B缺料为例MD04中确认UB需求存在步骤5.2MD04中点击UB需求行 → “采购建议” → 查看是否生成“转储建议”Procurement Type:UME5A中输入工厂B → 查看采购建议列表 → 确认有转储建议采购类型U采购组织1000ME21N中将转储建议转为正式STO凭证类型UBME23N中确认STO状态为“已批准”MB1B303执行发货MD04中UB需求消失新出现“在途收货”需求类型UB状态In TransitMIGO305执行收货MB52中工厂B库存增加MD04中“在途收货”需求消失。从那以后我每次配置完UB转储订单都强制走一遍MD04穿透验证先查UB需求再查采购建议最后查STO状态。哪怕多花5分钟也比上线后被生产部门电话轰炸强。希望帮到你。本文还有配套的精品资源点击获取

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

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

免费获取报价 →
↑