成品下挂虚拟件再挂另一个成品MD41跑不出MPS计划订单的问题(AI分析)

"成品1 → 虚拟半成品1(Phantom) → 成品2",即 一个成品(成品2)被挂在另一个成品(成品1)的BOM下,且中间通过虚拟件连接。

这是一个典型的 "成品作为子件"(Finished Goods as Component) + "虚拟件展开" 的混合结构。

您观察到的现象完全符合 SAP 的标准逻辑,但原因确实容易被误解。下面我将逐层拆解、精准定位根本原因。

✅ 您的场景结构还原

物料A:成品1(MRP类型 = M0,运行MPS)

└── BOM项:半成品虚拟件1(标记为 Phantom)

└── BOM项:成品2(本身也是可销售的成品,MRP类型 = M0)

您对 成品1 运行 MD41(MPS) → 成品2 无计划订单生成 ❌

您单独对 成品2 运行 MD41 → 能生成计划订单 ✅

🔍 根本原因:MPS 不会为"相关需求"生成计划订单

这是最关键的一点!

▶ 当您对 成品1 运行 MPS:

系统为 成品1 创建 独立需求(PIR);

展开 BOM 时,因 半成品虚拟件1 是 Phantom,系统跳过它,直接将需求传递给其子件 ------ 成品2;

但此时,成品2 的需求是"相关需求"(Dependent Requirement),不是独立需求;

MPS(MD41)只处理"独立需求"(如 PIR、销售订单),不处理"相关需求";

因此,即使成品2 的 MRP 类型是 M0,MPS 也不会为其生成计划订单。

💡 MPS 的设计初衷:只规划"面向市场的关键物料"(如主成品),不规划由上层派生的内部需求。

▶ 当您单独对 成品2 运行 MD41:

您实际上是人为将其视为"主计划对象";

系统假设存在 成品2 的独立需求(即使没有 PIR,MD41 也会尝试运行);

因其 MRP 类型 = M0,MPS 允许为其创建计划订单。

⚠️ 注意:这种"单独跑"成功,是因为您绕过了需求来源的上下文,强制触发了 MPS 逻辑。

📌 关键区分:独立需求 vs 相关需求

需求类型 来源 MPS(MD41)是否处理?


独立需求(Independent) PIR(MD61)、销售订单 ✅ 是

相关需求(Dependent) 上层物料的 BOM 展开 ❌ 否

在您的场景中:

成品2 在成品1 的 BOM 下 → 需求是 相关需求 → MPS 忽略;

单独跑成品2 → 系统当作 独立需求对象 → MPS 处理。

✅ 正确解决方案

方案一:✅ 对成品2 使用 MRP(PD),而非 MPS(M0)

将 成品2 的 MRP 类型改为 PD(Material Requirements Planning);

保持 成品1 的 MRP 类型 = M0;

运行流程:

  1. MD41:为成品1 运行 MPS → 生成成品1 的计划订单;
  2. MD02:对成品1 或全厂运行 MRP → 自动展开 BOM,为成品2 生成采购/生产建议(计划订单或PR)。
    ✅ 这是 SAP 标准分层计划最佳实践:
    MPS 管顶层成品,MRP 管下层所有物料(包括作为子件的成品)。
    方案二:⚠️ 强制让成品2 参与 MPS(不推荐)
    保留成品2 的 MRP 类型 = M0;
    但必须手动为成品2 创建 PIR(MD61),或确保有销售订单;
    这样 MPS 才会为其生成计划订单;
    ❌ 问题:无法自动响应成品1 的需求变化,需人工维护 PIR,易出错。
    方案三:🔧 检查虚拟件配置(次要)
    确认 半成品虚拟件1 确实标记为 Phantom:
    在 BOM(CS02)中,项目类别 = "Phantom";或
    在物料主数据(MM02)MRP 视图中,勾选 "Phantom assembly"。
    若未正确标记,系统不会展开,但您说"单独跑成品2能出",说明展开是成功的,此项大概率无误。

🔧 验证步骤(推荐操作)

  1. 为成品1 创建 PIR(MD61);
  2. 运行 MD41(仅成品1);
  3. 查看 MD04(成品2):
    应看到一条 "Dependent Reqmt"(相关需求),但无计划订单;
  4. 运行 MD02(针对成品2 或全厂);
  5. 再查 MD04(成品2):
    应出现 "Planned Order"(若 MRP 类型 = PD)。

✅ 总结

根本原因:

MPS(MD41)只响应"独立需求",而成品2 在成品1 的 BOM 下产生的是"相关需求",因此被忽略。

正确做法:

成品2 不应使用 MPS(M0),而应设为 MRP(PD);

先跑 MPS(成品1),再跑 MRP(全厂或成品2),即可自动生成成品2 的计划订单。

这不是配置错误,而是 SAP MPS/MRP 分层逻辑的正常行为。

将"作为子件的成品"纳入 MPS 范围,本身就是一种反模式(anti-pattern),会导致计划冗余和冲突。

💡 记住:只有直接面向市场的物料才进 MPS,内部流转的物料一律走 MRP。

相关推荐
总线通信小百科4 小时前
车载以太网模块、交换机与媒体转换器:三类设备怎么选?
经验分享·车载以太网
2601_967212728 小时前
安全型轨道式插座合规资质核查与工程选型技术要点
大数据·经验分享·安全
一只代码猿10 小时前
Screen Studio 免费邪修用法:剪视频完全无痛(附提示词)
经验分享
蒋胜山11 小时前
VBScript007-Excel的99乘法表
经验分享·batch
德思特11 小时前
实操指南|从“能驻网“到“能上网“:手机入网与公网业务实验室测试分享
经验分享·无线通信
览讯冷却12 小时前
冷却塔噪声的健康危害与法规要求的技术梳理
经验分享·笔记·科技·其他·百度·制造·业界资讯
学页技术极客13 小时前
「Skill市场」会重演「App Store」的故事吗
经验分享
恒锐丰科技林技术员13 小时前
EG2304L 高压半桥驱动芯片:中小功率电力电子方案优选器件
经验分享·嵌入式硬件·硬件工程
哎写bug的程序员15 小时前
关于github
经验分享
lazy H16 小时前
【计算机网络】第 12 篇:IPv6 详解——地址格式、地址类型与双栈网络
网络·经验分享·后端·学习·计算机网络·408