简介:本资源是一份面向SAP MM模块初、中级实施顾问与企业供应链信息化人员的「供应商寄售全流程实操指南」,聚焦解决寄售业务在SAP系统中配置混乱、收料无凭证、库存转移报错、发票校验失败等典型落地难题。文档以清晰步骤链贯穿11个关键环节,涵盖MRP2视图采购类型“F”与特殊采购类“10”的设置逻辑、XK01建供应商、ME11寄售信息记录前置创建、OMEV后台激活、ME51N采购申请(项目类别K)、MIGO 101寄售收料无FI凭证原理、MB1B 411K库存转移触发会计凭证的条件、MMBE库存状态识别,以及MRKO专用结算与412K冲销排错方案。资源为1个123KB的Word文档(.doc),内容结构完整、术语准确、操作指令与事务码标注明确,含大量易错点提示和系统报错应对策略。目前已有570人学习下载,适合需快速掌握寄售主数据配置、单据流转与财务集成要点的SAP用户。
1. “寄售库存没动,但MRKO报错‘Pipeline/consignment movement posted without value’”——这个提示一出,90%的人先去查发票、查税务、查供应商主数据,结果折腾半天才发现:根本不是账没对上,而是411移动时压根没走通价值流
这句报错在SAP MM模块里堪称“玄学级经典坑”:它不拦你做411K,也不拦你点MRKO,偏偏在结算那一刻弹窗卡死,还带个模棱两可的英文提示。更糟的是,系统日志里找不到凭证号,后台SM37查不到作业,SE38跑MRKO_DEBUG也只显示“消息号06250”,翻遍SAP标准帮助文档,它只告诉你“检查寄售信息记录”,却不说到底该检查哪一条字段、哪个视图、哪个配置开关。我见过某高校实验室的模拟项目X,三位同学轮番操作两天,重做了七次寄售配置,最后发现是OMEV里漏勾了一个复选框;也帮某公司处理过线上故障,凌晨三点还在MB1B界面反复试411K,直到翻出一张三年前的内部培训PPT才意识到:寄售P-info的“评估类型”必须和物料主数据MRP2里的“特殊采购类”严格一致,差一个字符都不行。如果你正卡在这一步——收了货、转了库、点了MRKO却死活过不去,别急着冲销、别急着重开PO,先停三秒,把这篇排错笔记从头看到尾。它不讲理论,只列你马上能敲进系统验证的命令、能打开比对的字段、能勾选的开关。
2. 寄售库存无法转入非限制库存(MB1B 411K失败):不是权限问题,是价值流断在了P-info与物料主数据的衔接点上
寄售流程里最让人血压飙升的环节,往往不是开单、不是收货,而是那一步看似简单的MB1B 411K移动。它不报红,不锁屏,就静静弹出一句“Pipeline/consignment movement posted without value”,然后库存状态纹丝不动。新手第一反应是权限不足、用户缺角色、或者后台配置没激活;熟手会直奔OMEV看开关;而踩过坑的老兵知道:95%的411K失败,根因藏在P-info(寄售信息记录)与物料主数据MRP2视图的三个字段耦合关系里。这三个字段像三把钥匙,缺一把,价值流就断在半路。
2.1 根因定位:为什么411K移动不生成会计凭证?——价值流启动的三个硬性条件
SAP寄售库存转为自有库存(411K)的本质,是触发一次“特殊库存估值”。系统要完成这笔估值,必须同时满足以下三个条件,缺一不可:
条件一:物料主数据MRP2视图中,“采购类型”必须为F,“特殊采购类”必须为10
这是寄售模式的“身份证”。若采购类型填成E(外部采购)或空,系统根本不识别该物料走寄售流程;若特殊采购类填成20(第三方订单)或50(子合同),411K移动时系统会直接忽略寄售逻辑,按普通库存处理,自然不走价值流。条件二:寄售P-info(ME11创建)中,“特殊采购类”字段必须显式维护为10,且“评估类型”必须与MRP2中一致
很多人以为只要ME11里选了寄售标识就行,其实不然。P-info的“特殊采购类”字段(字段名:EKPO-BSART)必须手动输入“10”,不能靠系统默认;更重要的是“评估类型”(字段名:EKPO-BWART),它必须和MRP2视图中的“特殊采购类”完全一致。常见错误是MRP2填了10,P-info里却填了CONS(旧版兼容值)或留空,导致系统无法匹配估值规则。条件三:P-info必须处于“有效”状态,且其“有效期至”字段必须覆盖411K操作当天
P-info有生命周期管理。若创建时设了“有效期至”为2024-06-30,而你在2024-07-01做411K,系统会静默跳过该P-info,转而尝试找其他可用记录——若找不到,则报“without value”。注意:这个检查不报错,只静默失效。
提示:以上三个条件,任意一个不满足,411K移动都不会生成会计凭证(FI凭证),MMBE里库存数量会变(寄售减少、非限制增加),但FB03查不到对应凭证,这就是“库存动了但账没动”的典型表现。
2.2 解决方案:三步强制校验法,10分钟内定位并修复
别猜,别试,用这套标准化校验法,直接锁定问题点:
步骤一:反查物料主数据MRP2视图,确认基础身份无误
/* 在SE16N中执行 */ Table: MARC Fields: MATNR (物料号), WERKS (工厂), BSART (采购类型), EKGRP (特殊采购类) Filter: MATNR = 'YOUR_MATNR' AND WERKS = 'YOUR_PLANT'- 检查
BSART字段值是否为F(寄售采购类型) - 检查
EKGRP字段值是否为10(寄售特殊采购类) - 若任一字段不符,用MM02进入MRP2视图修正,保存后重新测试411K
步骤二:穿透查询寄售P-info,核对两个关键字段
/* 在SE16N中执行 */ Table: EINA Fields: MATNR (物料号), LIFNR (供应商号), EKORG (采购组织), EKGRP (特殊采购类), BWART (评估类型) Filter: MATNR = 'YOUR_MATNR' AND LIFNR = 'YOUR_VENDOR' AND EKGRP = '10'- 确认
EKGRP=10(必须显式填写,不能为空或CONS) - 确认
BWART=10(必须与MRP2中EKGRP值完全一致) - 若
BWART为空或为其他值,用ME12修改该P-info,在“特殊采购类”下方找到“评估类型”字段,手动输入10
步骤三:验证P-info有效期,排除时间维度失效
/* 在SE16N中执行 */ Table: EINA Fields: MATNR, LIFNR, EKORG, DATBI (有效期至) Filter: MATNR = 'YOUR_MATNR' AND LIFNR = 'YOUR_VENDOR'- 检查
DATBI字段是否 ≥ 当前日期(如2024-07-01) - 若已过期,用ME12延长有效期,或新建一条P-info(注意:新P-info的
EKGRP和BWART仍需为10)
参数说明:
MATNR为物料号,LIFNR为供应商编号,WERKS为工厂代码,EKORG为采购组织。所有字段值均需与你实际操作的411K移动所用参数完全一致。这套查询逻辑绕过了事务码界面,直击数据库底层,避免了前端缓存或界面默认值带来的干扰。
2.3 避坑:411K移动的五大血泪经验,每一条都来自真实翻车现场
现象 → 原因 → 解决,不讲虚的,全是实操教训:
现象:MB1B输入411K后,系统不报错,但库存数没变,FB03也查不到凭证
原因:P-info的“评估类型”(BWART)字段为空,系统无法关联估值规则。
解决:用ME12打开该P-info,在“特殊采购类”下方手动输入10,保存后重试411K。现象:411K成功执行,库存变化正常,但MRKO结算时提示“no consignment stock found”
原因:411K移动时用了错误的P-info(比如用了普通采购的P-info而非寄售P-info),导致寄售库存未真正清零。
解决:在MB1B执行411K前,务必在“参考”页签中点击“信息记录”按钮,确认弹出的P-info编号与ME11中创建的寄售P-info一致(编号以K开头)。现象:同一物料,A供应商411K成功,B供应商失败,报“without value”
原因:B供应商的P-info中“特殊采购类”字段被误填为10(末尾带空格),系统比对时判定不等。
解决:用SE16N查EINA表,导出B供应商的P-info记录,用Excel检查EKGRP字段是否有隐藏空格,若有,用ME12重新输入10(不带空格)。现象:411K后库存显示正常,但月底关账时发现寄售库存余额不为零,且无法清账
原因:411K移动时未指定“评估类型”,系统默认使用工厂级评估类型,与物料级不匹配。
解决:在MB1B的“移动类型”页签中,勾选“评估类型”复选框,并手动输入10,确保与MRP2和P-info完全一致。现象:刚做完411K,立刻做MRKO,系统提示“consignment stock already settled”
原因:411K移动后,系统自动生成了一条寄售结算凭证(但未显示在MRKO界面),导致MRKO认为已结算。
解决:用MRKO进入后,不点“结算”,先点“显示结算凭证”,查看是否存在未清项;若有,用MR8M冲销该凭证,再重新执行MRKO。
3. MRKO发票校验失败:不是税务配置错,是寄售结算引擎没加载到正确的P-info上下文
MRKO报错,很多人第一反应是去SPRO查税务配置、去OVK3核对税码、甚至重装税务主数据。但真相往往是:MRKO根本没读到你想要的那条寄售P-info。它像一个固执的图书管理员,只认ISBN号(即P-info编号),而你递过去的书(物料+供应商组合)可能有多个ISBN,它却只取第一个——哪怕那个ISBN对应的不是寄售类型。这种“上下文错配”,才是MRKO失败的深层根因。
3.1 根因分析:MRKO如何选择P-info?——三重匹配逻辑与静默失败机制
MRKO在执行结算时,并非简单调用当前屏幕显示的P-info,而是按固定优先级顺序搜索并加载P-info。整个过程分三步,任何一步失败都会导致结算中断,且系统不明确提示“找不到P-info”,只抛出模糊消息:
第一优先级:从411K移动生成的物料凭证(MSEG)中提取P-info编号
这是最可靠的来源。当411K成功执行后,系统会在物料凭证(MSEG)表中写入EBELN(采购订单号)、EBELP(行项目)、KONNR(条件记录号)及KUNNR(供应商号)。MRKO首先尝试从这些字段反查P-info。若411K时未正确关联P-info(如MB1B中未点“信息记录”按钮),则此处为空,MRKO降级查找。第二优先级:根据物料号+供应商号+工厂+采购组织,从EINA表中查找最新有效的寄售P-info
此时MRKO会构造SQL查询:SELECT * FROM EINA WHERE MATNR = ? AND LIFNR = ? AND WERKS = ? AND EKORG = ? AND EKGRP = '10' ORDER BY DATBI DESC。注意两点:一是EKGRP = '10'为硬性过滤,二是按DATBI倒序取第一条。若存在多条P-info,MRKO永远取最新那条,哪怕你本意想用旧的。第三优先级:回退到工厂级默认P-info(若配置开启)
若前两步均未找到,且SPRO中启用了“工厂级默认寄售P-info”(路径:SPRO→物料管理→采购→寄售→定义工厂级默认寄售信息记录),则MRKO会加载该默认记录。但此功能极少启用,且一旦启用,所有寄售结算将统一走该P-info,极易引发价格/税码错配。
关键洞察:MRKO的“静默失败”机制在于——它不会因为找不到P-info而报错,而是继续执行,但在后续估值步骤中因缺少
KONNR或BWART字段而触发“without value”类消息。因此,排查MRKO失败,核心是确认它到底加载了哪条P-info。
3.2 解决方案:强制MRKO加载指定P-info的两种可靠方法
方法一:通过411K物料凭证反向绑定(推荐,治本)
这是最稳定的方式,确保MRKO读取的P-info与411K完全一致:
- 执行411K移动后,记下生成的物料凭证号(如
5000001234) - 用MB03查看该凭证,在“凭证抬头”页签中找到
EBELN(采购订单号)和EBELP(行项目) - 进入MRKO,不输入任何条件,直接点“结算”按钮旁的“凭证”图标(或按Ctrl+Shift+F12)
- 在弹出窗口中输入物料凭证号
5000001234,系统将自动加载该凭证关联的所有P-info上下文 - 点击“执行”,MRKO将基于此上下文进行结算,不再依赖EINA表搜索
逻辑说明:此方法绕过了MRKO的自动搜索逻辑,直接注入411K时使用的原始P-info上下文,杜绝了因EINA表中存在多条P-info导致的错配。
方法二:临时禁用EINA表搜索,强制指定P-info编号(应急)
当411K凭证丢失或无法追溯时,可用此法:
- 进入MRKO,输入物料号、供应商号、工厂、采购组织
- 在屏幕左上角菜单栏,选择“设置” → “用户参数”
- 在弹出窗口中,找到参数
EKKO-EKGRP,将其值设为10 - 同时找到参数
EKKO-BWART,将其值设为10 - 保存参数后,返回MRKO主界面,点击“执行”
- 系统将强制按
EKGRP = '10' AND BWART = '10'过滤EINA表,极大缩小搜索范围
参数说明:
EKKO-EKGRP和EKKO-BWART是MRKO的隐式筛选参数,虽不在界面显示,但可通过用户参数强制赋值。此法相当于给MRKO的自动搜索加了两个WHERE条件,避免它取到错误的P-info。
3.3 避坑:MRKO结算的四大隐形陷阱,新手必踩
现象 → 原因 → 解决,直击痛点:
现象:MRKO执行后,提示“no items selected for settlement”,但MB1B显示库存已转
原因:411K移动时未勾选“评估类型”,导致物料凭证(MSEG)中BWART字段为空,MRKO无法识别该移动为寄售结算源。
解决:用MB03查411K凭证,在“项目明细”页签中确认BWART字段值为10;若为空,用MBST冲销该411K凭证,重新执行并勾选“评估类型”。现象:MRKO结算成功,但生成的会计凭证中金额为0,税额却正常
原因:P-info中“净价”字段(NETPR)为0,或“价格单位”(PEINH)与物料主数据不匹配(如P-info设为每件,物料主数据设为每千克)。
解决:用ME12打开P-info,检查NETPR(净价)和PEINH(价格单位)字段,确保NETPR > 0且PEINH与物料主数据基本计量单位一致。现象:同一供应商,不同物料MRKO成功率不同,部分物料总失败
原因:失败物料的P-info中“税务信息”不完整,特别是“税码”(MWST)字段为空或为XX(无效值)。
解决:用SE16N查EINA表,筛选失败物料的P-info记录,检查MWST字段;若为空,用ME12在P-info的“税务”页签中维护正确税码(如V0)。现象:MRKO结算后,FB03查到凭证,但CO模块成本中心未分配,显示“未分配”
原因:411K移动时未指定“成本中心”,系统默认使用工厂默认成本中心,但该中心可能未激活或无权限。
解决:在MB1B执行411K时,在“会计核算”页签中手动输入正确的成本中心编号(如1000),确保与MRKO结算目标一致。
4. 寄售配置未生效(OMEV开关未起作用):不是后台没配,是配置未发布到客户端会话
OMEV配置页面上那个醒目的复选框,勾了,保存了,系统也提示“配置已激活”,但回到前台做ME51N,采购申请的项目类别里还是没有K选项;或者做了411K,系统却不校验P-info。这种“配置已做但无效”的情况,90%源于一个被严重低估的事实:SAP后台配置变更不会实时广播到所有用户会话,必须强制刷新客户端缓存或重启会话。这不是Bug,是SAP的设计哲学——配置变更需显式传播,避免并发冲突。
4.1 根因深挖:OMEV配置的三层生效机制与传播断点
OMEV(Tcode: OMEV)的配置并非写入数据库即生效,它经过三层处理,每一层都可能成为断点:
第一层:数据库写入层
当你在OMEV界面勾选“使用信息记录激活寄售”并点击保存时,系统将配置写入表T169(寄售配置主表)和T169A(工厂级配置表)。此步通常成功,可通过SE16N查T169确认KZKON字段为X。第二层:应用服务器缓存层
SAP应用服务器会将T169表内容缓存于内存中,以提升性能。配置保存后,该缓存不会自动刷新,仍保留旧值。只有当应用服务器重启,或执行特定刷新命令时,缓存才更新。第三层:用户会话缓存层
用户登录后,SAP GUI会从应用服务器缓存中读取配置并存入本地会话内存。即使应用服务器缓存已更新,用户会话仍使用旧快照,直到会话结束或手动刷新。
关键证据:用事务码
SU3查看当前用户参数,若KZKON参数值为 (空),说明会话未加载新配置;而SE16N查T169显示KZKON = X,证明数据库层已生效。
4.2 解决方案:三步强制刷新法,1分钟让OMEV配置真正落地
别等重启服务器,用这套组合拳立竿见影:
步骤一:强制刷新应用服务器缓存(ABAP层)
/* 在SE38中执行程序 */ Program: RSCONFIG_REFRESH /* 或直接运行事务码 */ Tcode: SMICM /* 在SMICM界面,选择“Goto” → “Services” → “Refresh Application Server Cache” */- 此操作将清空应用服务器内存中的
T169缓存,强制下次读取时从数据库重新加载。 - 注意:需有
S_RFC授权,且最好在业务低峰期执行,避免影响其他用户。
步骤二:强制刷新当前用户会话(GUI层)
/* 在任意事务码界面,输入以下命令 */ /hs /* 或 */ /nh /* 然后按回车 *//hs命令会注销当前会话并重新登录,彻底重建会话内存。/nh命令则仅刷新GUI层面的缓存,速度更快,但某些深层配置仍需/hs。
步骤三:验证配置是否真正生效(终端校验)
/* 在SE16N中执行 */ Table: T169 Fields: KZKON (寄售激活标志), WERKS (工厂) Filter: WERKS = 'YOUR_PLANT' /* 同时,在任意前台事务码(如ME51N)中,输入以下命令 */ /h /* 查看系统状态栏,确认“寄售激活”状态为“是” */- 若
T169-KZKON = X且/h状态栏显示寄售已激活,则配置100%生效。 - 若仍不生效,检查
T169A表(工厂级配置),确认对应工厂的KZKON也为X。
逻辑说明:这套方法跳过了“等待系统同步”的被动等待,用主动刷新替代被动传播。
/hs是终极手段,RSCONFIG_REFRESH是精准打击,两者结合,确保配置从数据库到用户界面的全链路贯通。
4.3 避坑:OMEV配置的三大认知误区,每个都曾让项目延期
现象 → 原因 → 解决,破除迷思:
现象:OMEV勾选保存后,立即在ME51N中测试,项目类别无
K选项
原因:误以为配置保存即实时生效,忽略了应用服务器缓存未刷新。
解决:执行/hs命令重启会话,或运行RSCONFIG_REFRESH,再测试。现象:OMEV配置在开发系统生效,但传输到生产系统后无效
原因:传输请求(TR)未包含T169表的更新,或传输后未执行RSCONFIG_REFRESH。
解决:在生产系统传输完成后,手动执行RSCONFIG_REFRESH,并用/hs刷新会话。现象:OMEV中勾选了“所有工厂”,但某工厂的411K仍不校验P-info
原因:“所有工厂”选项仅控制T169主表,具体工厂还需在T169A表中单独激活。
解决:用SE16N查T169A,确认该工厂的KZKON字段为X;若为空,用OMEV进入“工厂级配置”页面,为该工厂单独勾选。
5. 快速定位寄售故障:一套可复用的“四层诊断树”,从现象直击根因
寄售流程涉及MM模块十余个事务码、七八张核心表、五六个配置节点,每次报错都像在黑匣子上敲击——听声音猜故障。但经过上百次真实排错,我提炼出这套“四层诊断树”,它不依赖经验直觉,只靠四步结构化提问,就能在5分钟内锁定问题层级。它是我现在带新人的第一课,也是每次线上故障的必走流程。
5.1 第一层:确认故障发生的具体环节(Where)
寄售是线性流程,故障必发生在某个明确环节。先问自己:
- 是在创建阶段失败?(如ME51N选不出
K、ME11无法保存寄售P-info) - 还是在执行阶段失败?(如MIGO 101收料无反应、MB1B 411K报错)
- 或是在结算阶段失败?(如MRKO提示消息、FB03查不到凭证)
为什么重要?因为不同环节对应不同技术栈:创建阶段看配置(OMEV)和主数据(MRP2/EINA);执行阶段看移动类型逻辑(MIGO/MB1B)和凭证生成(MSEG);结算阶段看估值引擎(MRKO)和税务上下文(MWST)。定位环节,就锁定了排查范围。
5.2 第二层:判断故障是否伴随凭证生成(What)
观察系统反馈:
- 是否生成了物料凭证(如MIGO后MB03能查到凭证号)?
- 是否生成了会计凭证(FB03能否查到FI凭证)?
- 是否生成了结算凭证(MRKO后MRKO界面显示“已结算”)?
我整理了一份高频报错与凭证状态对照表,帮你快速归类:
| 报错现象 | 物料凭证 | 会计凭证 | 结算凭证 | 对应根因层级 |
|---|---|---|---|---|
| “Pipeline/consignment movement posted without value” | ✅ 有 | ❌ 无 | ❌ 无 | P-info与MRP2字段不匹配(第二层) |
| “no consignment stock found” | ✅ 有 | ✅ 有 | ❌ 无 | 411K未正确关联P-info(第二层) |
| MRKO提示“message 06250” | ❌ 无 | ❌ 无 | ❌ 无 | OMEV配置未刷新或P-info税务缺失(第四层) |
ME51N无K选项 | ❌ 无 | ❌ 无 | ❌ 无 | OMEV未激活或会话未刷新(第四层) |
| MIGO 101后库存不变 | ✅ 有 | ❌ 无 | ❌ 无 | 物料主数据MRP2采购类型非F(第一层) |
表格说明:✅表示必然生成,❌表示必然不生成。若实际状态与表格不符(如报错但有会计凭证),说明存在更深层配置冲突,需升级到第三层诊断。
5.3 第三层:穿透核心表,验证关键字段值(How)
一旦锁定环节和凭证状态,就直击数据库,用SE16N验证三个黄金字段:
- MRP2视图(MARC表):查
BSART(采购类型)和EKGRP(特殊采购类) - 寄售P-info(EINA表):查
EKGRP(特殊采购类)、BWART(评估类型)、DATBI(有效期至) - 物料凭证(MSEG表):查
BWART(评估类型)、KONNR(条件记录号)、SHKZG(借贷标识)
操作口诀:
- 查MRP2:
SE16N → MARC → 输入MATNR+WERKS → 看BSART和EKGRP- 查P-info:
SE16N → EINA → 输入MATNR+LIFNR+EKORG → 看EKGRP/BWART/DATBI- 查凭证:
MB03 → 输入凭证号 → 进入“项目明细” → 看BWART和KONNR
这三步,5分钟内完成,比翻配置手册快十倍。
5.4 第四层:交叉验证配置与会话状态(Why)
最后一步,验证环境一致性:
- 运行
/h,看系统状态栏是否显示“寄售激活” - 运行
SU3,查用户参数KZKON是否为X - 运行
SE16N → T169,查KZKON字段是否为X - 运行
SE16N → T169A,查对应工厂的KZKON是否为X
如果这四者不一致(如T169为X,但/h显示未激活),说明缓存未刷新,执行
/hs或RSCONFIG_REFRESH即可。这是绝大多数“配置做了但无效”问题的终点。
从那以后我每次处理寄售故障,都强制走一遍这四层树:先问Where,再查What,接着How验证字段,最后Why确认环境。它让我告别了“重启试试”“重配一遍”的玄学操作,把排错变成可复制、可 teaching 的工程动作。希望帮到你。
本文还有配套的精品资源,点击获取