简介SAP PP模块替代物料操作是生产管理中处理物料短缺与替换的关键技能。这份由资深顾问整理的《SAP-PP-替代物料操作完全手册》面向SAP实施顾问、生产计划及物料管理人员系统梳理了平行切换与非平行切换两大类替代逻辑并围绕批量更换BOM组件、只消耗不采购、后继物料与物料后继组、按比例替代等场景给出明确设置路径。资源为1个docx文档总计871KB内容以文字操作为主适合按步骤对照练习。目前已有2550人下载学习。文档从实例出发详细演示了MM02、CS02、CO01等事务代码的配置要点包含非连续标识、可用性检查、终止组与后继组维护等关键细节并对A物料耗尽后系统自动切换B物料、多物料按比例消耗等常见需求提供可落地的解决方案能帮助读者有效降低因物料短缺导致的生产中断风险。1. SAP-PP-替代物料操作完全手册先弄懂“替代”再动手SAP PP 里的替代物料绝不是“把 A 改成 B”这么简单。生产订单下达时 A 物料库存为 0系统能不能自动切到 B取决于你事先配的是“后继物料”“后继组”还是“按比例替代”三者触发逻辑完全不同。我见过不少计划员把几套配置混着用结果订单下发后库存检查一片红发料时才发现 B 物料根本没进 BOM。这个手册把 SAP 中各种替代场景的设置路径、事务代码和踩坑点一次讲清适合 PP 模块顾问、生产计划员和物料数据维护人员。你可以把它当配置参考也可以照着测试步骤一步步做一遍确认替代逻辑真的生效。2. 替代物料分类与选型先确定你要哪种替代2.1 平行切换与非平行切换系统判定逻辑的差异在 SAP PP 里替代物料首先分两大类平行切换和非平行切换。很多初学者把这两个词当成“同一种功能的不同叫法”实际上它们完全是两套机制配置入口也不一样。平行切换指的是 A 物料用完之后系统自动切换到 BB 用完之后再切到 C。这种切换是“单向链”而且系统永远把 A 视为最适用的物料。哪怕 A、B、C 三个物料全部没有库存MRP 跑出来的需求仍然是 A而不是 B 或 C。这一点非常容易引发业务误判明明 B、C 都还有库存怎么 MRP 还在报 A 的需求因为平行切换只在生产订单下达那一刻的物料可用性检查里生效MRP 层级的计划需求依然落在首选物料上。非平行切换则不同它更接近“不足即补”A 有 30% 库存、B 有 70% 库存生产订单需求 100 个系统会把 A、B 一起分配进去而不是等 A 耗尽才切到 B。按比例替代就属于这一类。如果你所在的公司遇到的是产品换代、老物料逐步退出的情况平行切换更贴合流程如果只是某一款物料临时短缺、需要同功能物料按比例或用完再补非平行切换更合适。先分清是“用完再切”还是“缺了就补”后面配置才不会走错入口。这里还有一个被反复验证的建议如果 A、B 物料已经确定长久不用不要只依赖替代配置直接用 BOM 的更改编号、生效时间窗口去控制比任何替代逻辑都干净。替代配置解决的是“过渡期”更改编号解决的是“退出期”两者别搞混。2.2 五种常见业务场景与对应配置路径不同业务诉求对应不同技术方案我习惯先列一张对照表再动手避免配置做到一半发现选型错误。业务场景配置方式关键事务代码适用条件旧物料彻底消亡全公司统一替换批量更换物料组件CS20旧物料不再允许出现在任何 BOM 中旧物料只消耗库存、不再发生采购物料状态 02 安全库存MM02 / OMS4 / CO02 / MD02老库存继续消化但采购不能再触发单物料替代单物料后继物料MM02MRP4 视图 CS02 CO01一对一替代A 用完切 B一组物料整体替代另一组物料物料后继组MM02 CS02多对多按组整体切换同功能多物料按比例消耗BOM 替代策略 1 使用可能性CS01 / CS02多供应商供货按百分比分配多个物料按优先级逐个接管BOM 替代策略 2 优先级CS02 CO01 MM02可用性检查 02三个及以上物料连续替代这里要特别说明“只消耗不采购”的场景。正文里的做法是BOM 中仍然保留 A 物料把 A 物料主数据采购视图中的物料状态设为 02这样 BOM 不会动采购员也转化不了 A 的采购申请。当 A 库存消减到安全库存触发警示库存时系统会产生采购申请但因为物料状态受限采购员无法继续下单这个信息会反馈到计划员或数据维护人员那边进入人工判断环节继续用 A、补充采购还是完全用 B、把 A 另行处理。人工判断后再决定是改物料状态、改 BOM还是用 MD02 重新跑 MRP。有一点需要注意物料状态 02 控制的是 BOM并不代表控制住了采购流程具体需要结合实际业务去调整 OMS4 的配置。正文里这个说法很实在——主数据状态不是万能的采购侧还要单独确认。2.3 配置前必须检查的三项主数据动手配置之前我一般会花十分钟检查三样东西否则大概率翻车。第一物料主数据视图要齐全。替代物料相关的核心字段集中在 MRP4 视图比如非连续标识、后继物料而可用性检查在 MRP3 视图。你如果只改了 MRP4漏掉 MRP3 的可用性检查 02生产订单根本不会做库存检查替代自然也不会发生。第二BOM 的状态。参与替代的物料必须先维护进 BOM再考虑冻结。如果 BOM 已经冻结后续再去维护替代物料会直接报错而且 BOM 里仍然是旧物料。第三工艺路线和工作计划视图。被替代的新物料如果没有维护工作计划视图生产订单根本创建不了。这个坑很隐蔽你在 CS02 里看 BOM 一切正常到 CO01 创建订单却提示该物料不能用于生产。所以新物料引入时先确认工作计划视图是否已维护完整。这三项检查做完再选具体配置方式才不会把时间消耗在端到端排查上。3. 双子物料替代后继物料的完整配置流程3.1 物料主数据设置MRP4 视图的非连续标识与后继物料以正文里的例子来说物料 66000037 用完后由 66000036 接替。我们首先要在 66000037 的物料主数据里声明“后继物料是 66000036”。进入事务代码 MM02输入物料 66000037切换到 MRP4 视图。这里有两个字段要重点看非连续标识和后继的物料。非连续标识填 1表示“单一平行终端的部分/物料”意思是该物料在替代链中只有一条后继路径。后继的物料字段填 66000036。保存时系统不一定立刻校验后继物料是否存在如果物料号输错要等到生产订单下达时才会暴露所以保存前最好用 MM03 确认一次描述和物料状态。还有一个关键动作容易被忽略给 66000037 在 MRP3 视图中把可用性检查设置为 02。这个参数一旦漏配后面的步骤基本白做——生产订单不会自动触发库存可用性检查系统也不知道库存不足更不会跳转到后继物料。这里有一个前提要说死这种方法只适用于 A、B 两种物料一对一替换。三种及以上物料用这个方法配置不会生效需要改用连续替代或者后继组的方案。另外如果 A、B 在 BOM 中的用量不相等例如 A 用 2 个、B 用 3 个仅靠这条路径无法正确替代正文也明确建议直接改用按比例替代的配置方式更简单。3.2 BOM 维护与库存准备用量相等是前提物料主数据设置完成后进入 CS01 维护 BOM把 66000037 和 66000036 都维护到该成品的 BOM 项目行中。这里的关键约束是A、B 的用量必须相等。正文里强调过如果用量相等以上设置直接生效如果不等还需要在 BOM 里做额外设置但那样不如直接用按比例替代更简单。接下来准备库存。用 MIGO 分别给 66000036 补充 100 个库存给 66000037 补充 45 个库存然后用 MMBE 核对两笔库存是否都正确记账。这里我习惯把 MMBE 的显示界面截一张图留档后面核对生产订单组件分配时用得着。要注意库存准备这一步不只是为了测试还为了确认“替代逻辑是累加扣减”这件事。也就是说生产订单需求 100 时系统会先扣减 66000037 的 45 个剩余 55 个才落到 66000036而不是一上来就按两个物料各 50 分配。3.3 生产订单验证从 CO01 看自动切换效果用 CO01 创建生产订单时需要维护好工艺路线和工序。正文中的测试口径是生产数量 20*5即 5 个工序或 5 个批量每个 20最终产成品数量 100。假设产出 1 个成品需要消耗 1 个 A 类物料原材料总需求就是 100 个。系统在执行物料可用性检查时会发现在 BOM 中首选物料 66000037 只有 45 个库存于是自动把剩余的 55 个分配给后继物料 66000036。生产订单组件面板上你会看到 66000037 的需求数量是 4566000036 的需求数量是 55不需要计划员手动去改任何一行。有一个细节要强调这种设置下替代是在“物料可用性检查”那一刻完成的而不是发料时。如果你在生产订单里看到组件仍然是 66000037 全额 100没有出现 66000036先不要怀疑替代配置直接回头查 MRP3 视图的可用性检查是否真的设成了 02。还要明白这条路径的边界它只认 A 库存是否够如果 A 库存不是 0 而是不足系统会补充 B如果 A 库存足够B 完全不参与。所以后续如果业务要求“A 先消耗、B 只作为最后保障”这条路径是合适的如果业务要求“A、B 同时按比例消耗”那要走第 5 章的按比例替代。4. 物料后继组设置一组物料整体替换的配置与测试4.1 为什么需要后继组单物料后继不够用如果只是 A、B 两个物料一对一替代第 3 章的方法已经够用。但业务经常出现“一组物料替换另一组物料”的需求。正文里的例子很典型整机 66000033 的 BOM 下面有四个组件66000031、66000032 属于 A 组66000034、66000035 属于 B 组。供应商切换后B 组要整体接替 A 组。这里的核心诉求不是“用 66000034 替代 66000031、用 66000035 替代 66000032”而是 A 组必须整体退出、B 组整体接手并且触发条件要看 A 组里某一个关键物料的库存。只要 66000031 库存为 0不管 66000032 还剩多少库存整组都切到 B 组。这种情况下给每个物料单独维护后继字段是做不到组级联动的。标准做法是用 BOM 子项目里的“终止数据/中止组”和“物料后继数据/后继组”把两组物料关联起来。这也是正文配置中最容易让人绕晕的部分配置思路要拎清楚。4.2 配置步骤MM02 非连续标识 CS02 终止组与后继组先在物料主数据层面把入口做好。用 MM02 打开 66000031 的 MRP4 视图非连续标识设置成 1后继物料填 66000034。注意这里填 66000034 表示“如果只看 66000031 自己它的接替者是 66000034”后面还需要在 BOM 里用组代码把两者绑成组关系单靠这个字段组替代是不完整的。再用 MM02 打开 66000032 的 MRP4 视图非连续标识设置成 3后继物料一定不要填。3 的含义是“相关平行不连续部分/物料”表示该物料和组内其他物料一起参与平行替代但它本身不指定单一后继。如果这里误填了后继物料替代逻辑会混乱测试时可能出现部分组件被替代、部分组件没被替代的怪现象。接下来用 CS02 打开抬头物料 66000033 的 BOM。找到 66000031 的项目行双击数量进入子项目界面点击“终止数据”在“中止组”里输入 A。返回到 66000032 的项目行做同样操作中止组也输入 A。这一步的含义是66000031、66000032 都被标记为被替代组 A 的成员。再找到 66000034 的项目行双击数量进入子项目界面点击“物料后继数据”在“后继组”里输入 A。66000035 做同样操作。这一步把 66000034、66000035 标记为后继组 A 的成员。设置完成后保存重新用 CS02 进入 BOM在菜单栏找到“附加 → 更多的 → 终止信息”点击后就能看到两组物料的关联效果。这里有两个非常容易翻车的细节。第一中止组代码和后继组代码必须完全一致大小写、空格、标点都不能差否则 AB 两组根本连不起来。第二如果子项目里之前设置过“替代项目组”必须先把它关闭或删除信息否则“终止数据”按钮是灰的你根本进不去中止组维护界面。正文里特别提到过之前很多人受某些资料误导一直达不成整组替代的效果多半就是这两个细节没处理干净。4.3 测试验证库存归零触发整组切换配置完成后按正文的测试口径走一遍。库存状态设置为66000031 库存为 066000032 库存为 10066000034 库存为 20066000035 库存为 300。下生产订单 100 个每个产成品需要这些组件各 2 个因此每组物料的需求量是 200。在 CO01 中做物料可用性检查系统会把 66000031 和 66000032 同时切换到 66000034 和 66000035。触发点是 66000031 已经没有库存整组切换被激活哪怕 66000032 还有 100 个库存也会一起被切过去。这就是组替代和单物料替代最本质的区别。测试时如果发现 66000032 仍然生成需求、替代不完整优先排查 66000032 的非连续标识是否设成了 3、以及它上面是不是误填了后继物料。另外正文还提到一种更简单的维护思路也可以把四个物料全部添加进同一个 BOM 里统一维护后继组信息效果相同只是维护界面上更集中一些。5. 替代配置避坑指南策略选择、比例校验与高频故障5.1 按比例替代策略 1 与使用可能性的正确设置有一种常见需求A、B、C 三种物料功能完全相同只是生产日期或供应商不同业务要求按比例拆分消耗比如多供应商供货导致物料号不一致但产品规格完全一样。这种情况不要用后继物料而是用 BOM 里的替代项目组。用 CS01 或 CS02 进入 BOM把三个物料都维护到同一个替代组 A。双击“数量”进入项目行界面系统会出现一个蓝色小箭头点击后进入替代参数维护界面。这里的关键参数是“策略”和“使用可能性”。策略字段有两个值1 表示手工维护/按用途可能性2 表示 100% 检查。选择策略 1 时优先级不起作用真正决定分配比例的是“使用可能性”字段。三个物料分别输入 50、30、20这样生产订单下达时会按 5:3:2 的比例拆分需求。假设需求总量 200分配结果就是 100、60、40不需要任何手工干预。有几个边界情况需要知道。如果某个物料的使用可能性留空为 0系统会弹警告要求输入但可以直接回车生产订单里该物料的数量显示为 0检查时系统会根据实际库存情况找“合适”的物料。如果全部都输 100订单里三个物料都显示全额数量检查时再找合适物料。如果 A 输 100、B 和 C 输 0那么 A 显示全额检查时仍然会根据实际库存变动。这里还要说明一个容易算错的点使用可能性之和并不强制要求等于 100%SAP 会自动归一化。正文给过一个计算示例A 为 50%、B 为 25%则 A 的需求等于 BOM 中的用量乘以 A 的使用可能性再除以两者之和计算结果是 0.667B 的需求是 0.334。这个逻辑本身没问题但如果计量单位是 PC 这类不允许小数的单位系统就可能出现所需物料数量不足的情况。所以我的习惯是让使用可能性之和严格等于 100%避免在单位精度上留下隐患。5.2 连续替代策略 2 与优先级的正确设置连续替代适合三个及以上物料按固定顺序逐个接管和按比例替代最大的区别在于连续替代同一时刻只用一个物料A 用完才轮到 BB 用完才轮到 C按比例替代则是同一张订单里多个物料同时按比例消耗。配置入口同样是 BOM 的替代项目组。用 CS02 进入 BOM把所有参与替代的物料都加进去双击每个物料的数量给替代物料组统一命名比如 A。点击替代项目组旁边的蓝色小箭头系统会弹出项目行参数维护对话框维护以下数据项目行物料号优先级策略使用可能性0020R1100734512空0030R1100702822空0040R1100734432空优先级 1 最高先消耗 R11007345库存为 0 后再消耗 R11007028然后再到 R11007344。策略 2 表示 100% 检查这一点和按比例替代的策略 1 完全不同不能混用。连续替代生效有一个硬性前提所有参与替代的物料在物料主数据 MRP3 视图的可用性检查都必须设置为 02。否则系统不会自动检查可用库存数量也就不会发生自动跳转。正文里有一个很典型的反面场景库存只有 200但因为不检查生产订单可以下 300发料时才会报库存不足。所以配置完成后不要急着下大订单先用一个超过库存数量的测试订单验证替代是否真的触发。5.3 高频踩坑记录现象、原因、解决坑 1三种及以上物料只按“后继物料”方式配置替代不生效。 现象生产订单中 B、C 物料始终不出现A 库存耗尽后系统报错。 原因单物料后继只支持一对一替代三个及以上物料需要连续替代或后继组。 解决改用 CS02 替代项目组维护策略 2 与优先级或者用第 4 章的后继组方案。坑 2库存明明为 0生产订单却没有自动切换到替代物料。 现象订单组件仍显示首选物料库存检查通过但发料失败。 原因替代物料主数据 MRP3 视图的“可用性检查”未设置为 02。 解决用 MM02 打开 MRP3 视图把可用性检查改成 02保存后重新跑 CO01 物料可用性检查。坑 3BOM 里中止组和后继组都填了但 CS02 看不到替代关系。 现象保存后重新进入 BOM“终止信息”里没有预期中的组关联。 原因中止组代码和后继组代码不一致或者子项目里残留了旧的替代项目组导致终止数据灰掉。 解决删除替代项目组信息确认两组代号完全一致后再保存通过“附加 → 更多的 → 终止信息”验证。坑 4按比例替代下生产订单需求数量出现小数或者总量不足。 现象组件数量显示 0.667、0.334 这类小数MRP 或发料环节数量对不上。 原因使用可能性之和不是 100%且计量单位是 PC 这类不允许小数的单位系统归一化后产生精度损失。 解决把使用可能性之和调整为 100%或者更换计量单位后再跑一次。坑 5BOM 冻结后才想起来维护替代物料一维护就报错。 现象CS02 保存时提示 BOM 已冻结无法修改且 BOM 里仍然显示旧物料。 原因替代物料需要在 BOM 冻结前维护完成。 解决先解除冻结或者用更改编号、生效时间窗口控制 BOM 有效期避免在冻结状态下直接改。6. 替代生效验证生产订单与 MD04 双向确认6.1 用 CO01 验证组件分配配置做完不验证等于没做。我最常用的验证路径是先用 CO01 创建一张带足量需求的生产订单执行物料可用性检查然后进组件明细看每个替代组的分配数量。如果看到首选物料需求数量等于它的库存数量、后继物料补足剩余部分说明替代逻辑已经生效。6.2 用 CS02 和 MD04 双向复核BOM 层面的验证用 CS02 的“附加 → 更多的 → 终止信息”查看组关联MRP 层面的验证用 MD04 看单个物料的供需情况。这里要特别注意一个现象即使替代配置完全正确当 A、B、C 三种物料全部无库存时MRP 跑出来的需求仍然是首选物料 A因为替代配置不会改变 MRP 层面的首选逻辑。如果你在 MD04 里看到 A 的需求而 B、C 有库存不用慌这是正常行为不代表配置失败。6.3 一个长久养成的习惯从那以后我每次接手替代物料的配置或排查都会强制走一遍同一套流程先查 MRP3 可用性检查再查 MRP4 后继关系再进 BOM 看终止组和后继组是否配对最后用 CO01 下一张超量订单验证替代触发并用 MD04 确认 MRP 层不受干扰。这套流程看起来多花了五分钟但替我挡掉了绝大多数“配置看起来没问题但订单就是不对”的玄学问题。希望帮到你。本文还有配套的精品资源点击获取