面向资深顾问的 SAP MM 高级面试题
1. 采购订单(PO)价格与信息记录 / 合同价格不一致,但系统未提示警告就允许保存。你会检查哪些配置与管控项来避免该问题?
该问题需同时排查价格控制配置与采购单据管控,具体步骤如下:
1. 校验信息记录更新与价格确定设置
在后台配置检查信息记录 / 合同的价格提案是否设为强制或可选。若未强制要求价格继承,采购人员可手动覆盖价格,导致 PO 价格偏离主数据。
2. 检查价格差异容差限制
在事务码 OMR6 中,查看 PE(价格差异) 等容差码的配置。若容差设置过高或未维护,系统在创建 PO 或发票校验时,不会触发警告或冻结,允许价格差异通过。
3. 审核采购订单的单据类型配置
在事务码 OMEC 中,确保 PO 单据类型已配置货源检查,并在必要时强制引用框架协议。若未配置该检查,PO 可能直接忽略合同定价,允许手动修改价格。
4. 检查发布策略配置
若发布策略缺失,或未与价格变更关联,采购人员可在无需审批的情况下创建 / 修改 PO 价格。需配置正确的发布策略,将价格变更作为审批触发条件,实现价格修改的多级管控。
5. 校验用户权限
通过事务码 SU24 / PFCG,检查用户是否拥有手动修改价格的权限。限制价格修改权限,可确保价格差异要么触发警告,要么升级审批,从权限层面杜绝违规修改。
2. 采购订单(PO)已完成全部审批,但状态仍显示 “已冻结”。你会如何分步排查该问题?
我会从发布策略、价格冻结、后续流程检查三个维度系统性排查,具体步骤如下:
1. 检查冻结类型
首先通过事务码 ME23N 打开采购订单,查看「状态」标签页与消息日志,确认冻结类型:
是审批冻结、价格冻结,还是交货 / 发票冻结。
注意:仅完成审批流程,无法清除所有类型的冻结。
2. 验证发布策略执行情况
检查「发布策略」标签页,确认:
所有审批代码均已执行,订单状态为已释放(Released),而非「处理中(In process)」。
最终审批完成后,是否有新的修改(如价格、数量、交货日期),这类修改会自动重新冻结订单。
3. 检查价格与价值容差指标
在事务码 OMR6 中查看价格差异容差配置:
若 PO 价格超出容差限制,即使完成审批,订单仍会保持冻结状态。
该问题常见于 PO 价格与信息记录 / 合同价格不一致的场景。
4. 审核发布策略关联配置
检查发布策略的「变更重置」配置:
若订单在审批后被修改,但重置逻辑配置不一致,系统会显示「已释放」,但实际功能上仍处于冻结状态。
5. 检查发票与收货关联状态
验证订单是否因发票校验或 ** 基于收货的发票校验(GR-based IV)** 问题被冻结:
部分情况下,发票冻结(IR block,非审批冻结)会导致订单在审批完成后仍显示冻结。
6. 检查用户权限与后台任务
确认:
执行审批的用户拥有完整的审批权限。
无工作流、后台作业(如合规检查、定价校验)正在占用单据,导致冻结状态未更新。
7. 校验配置一致性
最后通过 SPRO 检查以下配置:
发布程序、单据类型、冻结逻辑的配置是否一致,确保释放与冻结标识无冲突。
3. 收货(GR)失败,提示 “采购订单项目不支持收货”,可能的根本原因有哪些?
该问题通常属于主数据或采购订单配置问题,而非系统故障,核心根因如下:
项目类别配置为「不支持收货」
采购订单中未勾选「收货标识」
基于科目分配的业务逻辑限制(如费用类采购)
该项目已完成全部收货,无可收货数量
单据类型或项目类别配置错误
委外加工或特殊采购类型不匹配
服务类 / 限制项目与物料项目混淆
4. 收货过账成功,但库存进入了错误的存储位置。如何在不影响财务过账的前提下排查并修复?
若库存进入错误存储位置,我会按以下步骤处理:
排查根因:通过事务码 MB03 查看物料凭证,确认过账的存储位置,核实该位置是否继承自采购订单或物料主数据默认值,同时校验采购订单项目的存储位置、物料主数据默认配置。
无财务影响修复:使用 ** 库存转储(移动类型 311)** 将库存调拨至正确存储位置,而非冲销收货(冲销会影响财务凭证)。
预防复发:修正采购订单或物料主数据的默认存储位置,必要时限制手工录入权限,从源头避免错误。
5. 发票价格、数量与采购订单(PO)、收货(GR)完全一致,但仍被冻结。你会执行哪些高级排查?
若发票在价量完全匹配的情况下仍被冻结,我会执行以下深度检查:
容差码(事务码 OMR6):检查多发票累计差异,而非仅当前单张发票的差异。
舍入 / 单位 / 价格单位差异:排查隐藏的小数位、单位换算不匹配问题。
基于收货的发票校验(GR-based IV):检查历史收货是否存在冲销、部分收货,导致历史层面的匹配异常。
运费条件:排查计划运费缺失、重复录入等问题。
税与预扣税差异:检查税码、税额计算不匹配问题。
MIRO 中的发票冻结原因:确认是否为手动冻结或工作流触发的冻结。
发票发布策略:即使数值匹配,仍需检查是否存在待审批流程。
6. 月末 GR/IR 科目持续存在未清余额。如何安全地分析并清理?
这是一项复杂且需谨慎的任务,必须以可控、符合审计要求的方式处理。具体步骤如下:
一、 分析余额
使用报表定位:通过事务码 MB5S 或 FBL3N,按采购订单(PO)维度分别筛选「有收货无发票」、「有发票无收货」的记录。
核查单据历史:确认差异根源属于时间差(Timing)、数量还是价格相关。
二、 分类根因
|
问题类型 |
典型场景 |
|
时间性问题 |
已收货(GR),但供应商发票未提交(IR) |
|
流程违规 |
已收到发票(IR),但实际物料并未入库(GR) |
|
数量差异 |
部分收货或部分发票,导致尾差未清 |
|
价格差异 |
PO 价格与发票 / 收货评估价不一致 |
|
历史单据 |
老旧或已关闭的采购订单遗留的余额 |
三、 正确清理(禁止手动财务冲销)
补录缺失单据:
若有收货无发票:通过 MIRO 补录供应商发票。
若有发票无收货:若实物已收,补做 GR(收货);若实物未收,需冻结发票或联系供应商。
处理交付差异:对于短交或超交,调整采购订单数量,并冲销错误的 GR/IR。
使用专用清账功能:仅在小额、有效、合规的剩余差异场景下,使用事务码 MR11(GR/IR 清账)进行处理。
四、 预防复发(管控措施)
强制基于收货的发票校验(GR-based IV),从源头杜绝 “无收货入账”。
收紧容差限制(Tolerance Limits),严格控制价格和数量差异。
禁止无收货的发票入账,从系统层面控制流程合规。
月末定期 GR/IR 账龄分析,建立常态化清理机制。
7. 系统已禁用负库存,但物料仍出现负库存。在正式运行的系统中,这种情况为何会发生?
即使系统禁用了负库存,仍可能因时间差、配置漏洞或集成问题出现负库存,常见原因如下:
|
原因类别 |
负库存产生机制 |
|
过账时序问题 |
发货(GI)在收货(GR)之前过账(同一时间戳或回溯过账),系统会临时允许负库存,直至收货完成过账 |
|
移动类型配置 |
部分移动类型在工厂 / 存储位置层级允许负库存,即使物料主数据禁用了负库存 |
|
工厂与存储位置设置不一致 |
工厂层级禁用负库存,但存储位置层级允许,导致库存数据不一致 |
|
批次 / 序列号不匹配 |
工厂层级有库存,但发货时使用的批次 / 序列号无可用库存 |
|
回溯过账 |
收货以较晚日期过账,发货以较早日期过账,产生历史负库存 |
|
存储位置使用错误 |
库存存在于 A 存储位置,但从无库存的 B 存储位置执行发货 |
|
集成问题(WM/EWM) |
MM 与 WM/EWM 之间的库存同步延迟或失败,导致临时负库存 |
|
权限覆盖 |
拥有特殊权限的用户可绕过库存可用性检查,执行库存移动 |
此问题需MM 与 FI 配置双维度同步排查,优先验证以下配置项:
1. 移动类型配置(事务码 OMJJ)
检查移动类型是否配置为 **“评估相关”**,且允许生成会计凭证。
若移动类型为 **“非评估类移动类型”**,则不会触发 FI 过账。
2. 物料类型与评估配置(事务码 OMS2 / OMS3)
确认物料类型已配置为 “评估相关”(非仅数量管理),且维护了评估类、价格控制、评估数据(工厂层级)。
3. 科目确定配置(事务码 OBYC)
校验关键交易键值(Transaction Keys):BSX、WRX、GBB 是否正确维护。
OBYC 配置缺失会导致 FI 凭证无法创建。
4. 采购订单设置与科目分配(事务码 ME23N / OME3)
检查 PO 项目是否标记为GR-relevant(收货相关) 且 评估相关。
对于消耗性采购(Consumable PO),需确保科目分配类别 与 G/L 账户配置正确。
5. 评估范围与公司代码配置
确认评估范围 配置在工厂层级或公司代码层级,且评估数据存在对应配置。
6. FI 过账期间配置(事务码 OB52)
检查过账期间 是否已开放。
若 FI 期间关闭,即使 GR 过账成功,也无法生成 FI 凭证。
9. 库存已低于再订货点,但 MRP 未生成采购申请(PR)。实际业务中最常见的原因有哪些?
1. MRP 类型非再订货点模式
物料主数据中MRP 类型未设置为 VB(再订货点计划)。
若为 PD(物料需求计划)或 ND(无计划),再订货点逻辑不会触发采购申请。
2. 再订货点 / 安全库存缺失
物料主数据中再订货点、安全库存为 0 或未维护,系统无触发补货的阈值。
3. 物料未纳入 MRP 计划
MRP 类型设为 ND,或MRP 标识配置错误,物料被完全排除在计划范围外。
4. MRP 运行范围问题
物料、工厂、存储位置未包含在 MRP 运行(事务码 MD01/MD02)的选择参数中,未被计划覆盖。
5. 已有采购元素覆盖需求
未清采购订单(PO)、采购申请(PR)、计划订单、在途库存等已覆盖短缺,MRP 判定无净需求,不生成新 PR。
6. 批量 / 最小订单量限制
批量设置、最小订单量阈值过高,短缺未达到触发条件,系统不生成采购申请。
7. 货源清单 / 配额协议问题
货源清单要求有效货源但无合规供应商,或配额协议配置异常,阻断采购申请生成。
10. 采购订单(PO)金额已超审批阈值,但发布策略未触发。你会检查哪些配置与主数据设置?
针对该问题,需排查以下配置与主数据维度:
发布程序是否分配至单据类型:确认采购订单对应的单据类型,已正确关联发布程序。
发布类与发布组配置:检查发布类(Release Class)、发布组(Release Group)的分配是否正确,无遗漏或错配。
特性与分类设置:验证用于触发发布策略的特性(如 PO 金额),是否正确维护并完成分类。
发布策略值与阈值:确认发布策略中定义的金额阈值、生效条件,与实际业务要求一致。
发布用计算值:检查用于审批的金额计算逻辑(如是否含税、是否含运费),确保阈值匹配计算口径。
币种与汇率:确认 PO 币种、汇率换算是否正确,避免因币种差异导致金额未触发阈值。
行项目与抬头层级相关性:检查发布策略是基于抬头总金额还是行项目金额,配置层级与业务逻辑一致。
发布策略确定后的变更:确认 PO 在发布策略判定后,是否有金额 / 条件变更,导致策略未重新触发。
用户出口 / BAdI 影响:排查是否有自定义增强(User Exit/BAdI),干预了发布策略的触发逻辑。