资讯动态

公司间STO收货报错排查:MIGO、VF01高频故障根因与解决

发布时间:2026/10/28 5:58:28 来源:尧图企业网站定制
简介这份文档面向需要在SAP系统中处理跨公司采购交易的操作员与项目经理聚焦公司间项目QSTO的配置与操作全流程帮助读者理清从项目创建、采购申请与订单、交货单处理到收货、开票的完整链路并掌握常见异常的排查思路。资源包共1个docx文件约3.52MB内容按业务背景、系统配置、操作步骤、问题解决四大板块组织涵盖SFW5激活业务功能、跨公司配置查看、交货类型与可用性检查、OBYA清账科目维护等配置要点以及CJ20N、ME51N、ME21N、MIGO、VL10B/VL10D、VL02N等事务代码的实例应用。针对CO科目分配对象归属错误、采购收货异常、销售开票问题等典型故障文档也给出了原因分析与先决条件说明。目前已有654人学习适合作为日常操作对照与排错参考。1. 公司间STO收货报错为什么MIGO死活过不去做公司间项目STO的人大概率都经历过这个瞬间交货单已经建好VL02N也点过了切到MIGO按交货单收货系统直接甩出一句报错凭证不生成库存不动会计凭证更别想。你回头查配置SFW5里LOG_MM_SIT明明激活了跨公司交货类型也配了可它就是过不去。这类故障折腾人的地方在于报错信息往往只告诉你“不行”不告诉你“为什么不行”而公司间项目Q这条链路又长——项目号、采购申请、采购订单、交货单、发货过账、收货、开票、发票校验任何一环断掉后面全卡死。这篇笔记面向正在被公司间STO报错卡住的SAP操作员和顾问把几个高频报错的现象、根因和解决动作拆开讲清楚照着排查就能往下走。2. 收货与过账报错MIGO报错背后的三个断点公司间STO的收货报错表面看都是MIGO弹红实际断点位置完全不同。有人卡在交货单没发货有人卡在移动类型配置还有人卡在CO科目分配对象。先把现象分类再逐个定位比盲目翻配置快得多。2.1 MIGO按交货单收货报错交货单根本没发货过账最常见的现象是VL10B或VL10D建出公司间交货单单号也有了操作员直接跳到MIGO去收货系统报错物料凭证不产生。根因很直接——交货单没有执行发货过账未发货的交货单在系统里不具备可收货的状态。公司间STO的链路是“先发货、后收货”VL02N里的发货过账移动类型683107没做MIGO就没有可参照的已发货数量。解决动作按顺序走一遍# 第一步用VL03N查看交货单状态确认是否已发货 # 事务代码VL03N输入交货单号 800000123 # 看“状态”页签确认“发货过账”是否为已完成 # 第二步若未发货用VL02N执行发货过账 # 事务代码VL02N输入交货单号 # 菜单编辑 - 拣配 - 发货过账 # 移动类型683公司间交货出库 107供应商寄售/项目库存转移代码块里的事务代码是操作入口不是脚本。VL03N用来做状态确认这是排查的第一步很多人跳过它直接去MIGO重试结果反复报错。VL02N里的发货过账动作会生成物料凭证如4900002188只有这张凭证存在MIGO按交货单收货才有依据。移动类型683和107的组合是公司间项目库存转移的标准配置如果OMJJ里这两个移动类型的配置被改过发货过账本身就会失败那就得先回到OMJJ检查移动类型是否允许公司间交易。提示MIGO收货前养成习惯先用VL03N看一眼交货单的发货状态比在MIGO里反复试错省时间。2.2 CO科目分配对象属于公司代码3不是4KI100消息号在作祟这个报错在公司间项目STO里出现频率极高触发点可能在采购申请审批ME55、采购订单创建ME21N或采购订单收货MIGO任意一环。报错原文是“CO科目分配对象属于公司代码3, 不是4”3和4是变量占位实际显示的是两个不同的公司代码。根因是WBS元素科目分配对象归属的公司代码与当前操作的公司代码不一致——A公司的项目WBS元素被带到了B公司的采购单据上系统做公司代码一致性校验时直接拦截。标准解决动作是调整消息号控制# 事务代码OBA5 # 应用区域KI成本会计相关 # 消息号100 # 当前级别E错误 # 修改为W警告OBA5是消息控制的事务代码找到应用区域KI下的消息号100把错误级别从E改成W系统就不再硬性拦截而是给警告放行。这个改法的逻辑是公司间项目场景下WBS元素跨公司代码引用是业务设计本身决定的硬校验反而不合理降级为警告让流程能走通。但要注意改成W只是放行不代表数据没问题后续开票环节如果WBS元素归属仍然错位会在VF01那里以另一种形式爆出来所以改完OBA5之后要盯紧开票步骤。参数说明应用区域选KI而不是其他区域是因为这条消息挂在成本会计的消息类下消息号100是固定值不要改成相邻号E到W的降级只影响当前客户端传输到其他环境时要确认消息级别是否被覆盖。2.3 采购收货后无会计凭证移动类型与科目确定的联动有操作员反馈MIGO收货成功了物料凭证号也出来了比如5000001299但会计凭证没生成。公司间交货单收货这一步在标准设计里本来就可能不产生会计凭证——A公司对B公司的公司间收货库存转移的会计影响由后续开票和发票校验承接。但如果业务上期望有会计凭证而实际没有就要查两个点一是OBYC里移动类型对应的科目确定是否配置二是公司间清账科目是否维护。# 检查公司间清账科目配置 # 事务代码OBYA # 路径IMG - 财务会计 - 总账会计 - 业务交易 - 准备跨公司代码交易 # 确认公司代码组合7010/7090对应的清账科目已维护OBYA维护的是跨公司代码交易的清账科目公司间STO涉及两个公司代码之间的应收应付对冲这个科目没配后续发票校验MIRO会报科目缺失。操作时注意公司代码组合的方向性A对B和B对A可能是两条配置记录别只配一边。3. 开票报错VF01找不到WBS元素的排查路径销售开票是公司间STO链路的后半段报错形态和收货阶段完全不同。VF01开票时提示WBS元素错误、找不到WBS元素或者日志里出现VF156“Error while substituting WBS element ”这类问题的根因往往不在开票本身而在复制控制里带入了不该出现的科目分配对象。3.1 VF01报WBS元素错误复制控制里多带了一个字段现象是公司间交货单过账完成A公司对B公司收货也做了切到VF01开销售发票系统提示找不到WBS元素开票中断。根因是交货单到销售发票的复制控制里WBS元素字段被带了过去而这个WBS元素属于没有启用项目管理的公司代码在开票公司代码下根本不存在系统自然找不到。解决动作分两步第一步确认复制控制第二步调整字段映射# 第一步检查交货单到发票的复制控制 # 事务代码VTFL # 选择交货类型 - 开票类型 # 查看字段映射中WBS元素PS_PSP_PNR是否被设置为“复制” # 第二步通过VOFM调整复制要求需开发配合 # 事务代码VOFM # 路径要求 - 开票凭证 - 复制要求 # 复制请求号105到901修改WBS元素相关逻辑VTFL是复制控制的事务代码能看到交货单字段如何映射到发票字段。如果WBS元素在映射表里是“复制”状态而目标公司代码没有对应的WBS元素开票就会报错。VOFM里的复制要求调整属于开发级动作复制请求号105到901的意思是把标准请求105复制成自定义请求901在901里改逻辑不动标准对象。这一步通常需要ABAP开发协助操作员自己能做的是确认问题出在复制控制然后把需求提给开发。参数说明VTFL里选择交货类型时要选公司间交货对应的类型不是普通对外交货类型VOFM的请求号105是标准WBS元素替换逻辑所在901是自定义号段起点复制后修改不影响升级。3.2 跨公司开票的WBS元素归属卖方的开票元素必须存在比复制控制更深一层的问题是WBS元素的归属逻辑。系统在跨公司代码开票时会额外做一次校验检查销售方公司代码的网络里是否存在开票元素。如果WBS元素只挂在发货方公司代码下销售方公司代码下没有对应的上层开票元素VF01就会失败。这个逻辑对应的是标准行为——交货环节只校验WBS元素是否来自发货公司代码开票环节才校验销售公司代码。解决方式是在网络里为销售方公司代码定义一个上层开票元素# 事务代码CJ20N 或 CN22 # 打开对应项目网络 # 为销售方公司代码如7090分配一个上层WBS开票元素 # 确保该元素在网络结构中位于被引用WBS元素的上一层CJ20N是项目构建器CN22是网络变更两个入口都能改网络结构。关键动作是“上层开票元素”——不是随便建一个WBS元素就行它必须在网络层级上高于被引用的元素系统校验的是层级关系。如果项目结构已经下达改网络要确认下达状态是否允许修改必要时走变更管理。注意WBS元素归属问题在OBA5降级消息号之后可能被掩盖收货阶段不报错不代表开票阶段不报错两个环节的校验逻辑不同别以为改了OBA5就一劳永逸。4. 配置与操作避坑五个反复踩的坑公司间STO的坑一半在配置一半在操作顺序。下面五条是实际项目里反复出现的每条按现象、原因、解决写清楚。4.1 坑一SFW5激活了LOG_MM_SIT但功能没生效现象SFW5里LOG_MM_SIT显示已激活但公司间STO的单据类型还是出不来。原因业务功能激活后需要跑一次一致性检查部分配置节点要重新生成。解决SFW5激活后执行“检查激活状态”确认业务功能开关真正打开然后重新进SPRO检查交货类型和项目类别是否可见不可见就重新保存一次配置。4.2 坑二交货类型和可用性检查过程配错工厂现象VL10B建交货单时提示没有可交货的项目或者可用性检查直接跳过。原因按工厂配置交货类型和可用性检查过程时工厂填成了发货工厂而不是收货工厂或者两个工厂的配置不对称。解决SPRO路径“物料管理 - 采购 - 采购订单 - 设置库存调拨单 - 按工厂配置交货类型和可用性检查过程”逐个工厂核对A公司工厂和B公司工厂都要配方向别搞反。4.3 坑三POD配置没做导致收货数量对不上现象MIGO收货后交货单的已收货数量不更新或者后续开票数量取错。原因POD交货证明相关配置缺失系统无法确认实际收货数量。解决SPRO路径“后勤执行 - 交货 - 交货证明 - 根据交货项目类别设置POD-相关”按交货项目类别打开POD标识。这个配置在项目里可以不设但一旦业务要求按实际收货数量开票就必须配。4.4 坑四OBYA清账科目只配了单向现象MIRO发票校验时报清账科目缺失或者借贷方向不对。原因OBYA里公司代码组合只配了A对B没配B对A。解决OBYA里把两个方向的组合都维护上科目要区分应收和应付方向配完用FBKP或直接跑一笔测试凭证验证。4.5 坑五操作顺序颠倒导致凭证链断裂现象先做MIGO收货再回头做VL02N发货系统报错或生成异常凭证。原因公司间STO的凭证链是严格顺序的发货过账必须在收货之前。解决把操作顺序固化成检查清单——CJ20N建项目、MD02跑MRP、MD04转采购申请、ME55审批、ME21N建STO采购订单、VL10B建交货单、VL02N发货过账、MIGO收货、VF01开票、MIRO校验每一步确认凭证号生成再进下一步。5. 快速定位公司间STO报错的排查顺序与验证方法被报错卡住时最怕的是东查一下西改一下把配置改乱了还没找到根因。我的习惯是按“凭证链倒推”来定位从报错的那一步往回看确认上一步的凭证是否真实生成而不是凭记忆假设它做了。先看一张对照表把高频报错和第一排查点对上报错现象第一排查点事务代码确认内容MIGO收货报错无物料凭证交货单是否已发货过账VL03N发货过账状态CO科目分配对象公司代码不符消息号KI100级别OBA5E是否改为WVF01找不到WBS元素复制控制字段映射VTFLWBS元素是否被复制开票报VF156替换错误销售方公司代码开票元素CJ20N/CN22上层开票元素是否存在MIRO清账科目缺失跨公司清账科目OBYA双向科目是否配全收货后无会计凭证移动类型科目确定OBYC是否本就不产生凭证表格之外验证方法要落到具体动作。第一步用VL03N和MIGO的“显示”模式确认凭证链每一环的凭证号是否连续物料凭证4900002188发货和5000001299收货之间不能断。第二步报错涉及消息号时用OBA5查当前级别别假设它是E还是W实际查了再改。第三步开票类报错先看VF01的日志明细日志里会写明是哪个字段替换失败比报错弹窗信息量大。第四步改完任何配置用一笔测试单据走完整链路别在生产单据上直接试。还有一个容易被忽略的点公司间STO的报错有时是“延迟爆发”的。收货阶段改了OBA5放行问题被推到开票阶段才暴露开票阶段改了复制控制问题又推到发票校验。所以每改一处都要把后续环节预演一遍确认没有把问题往下游推。从那以后我每次碰公司间STO都强制自己先跑一遍凭证链检查清单确认上一步凭证号真实存在再动下一步配置改动一律先在测试客户端验证。这套习惯帮我省掉了大量“改了这里坏那里”的返工。希望帮到你。本文还有配套的精品资源点击获取

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

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

免费获取报价 →
↑