SAP PP替代物料配置全解:平行切换、后继组与按比例替代 简介《SAP-PP-替代物料操作完全手册》聚焦SAP PP模块中的替代物料配置面向SAP实施顾问、生产计划与物料管理人员系统讲解平行切换与非平行切换两类场景覆盖生产订单中A料耗尽自动切换B料、按30%/70%比例消耗等常见需求。文档从批量更换组件、只消耗不采购到两个物料后继设置、物料后继组以及按比例拆分逐一说明包含CS20、MM02、MRP4视图、非连续标识、可用性检查、BOM终止组/后继组等关键配置步骤并结合A/B物料用量相等与否给出适用建议帮助读者规避MRP错误跑出旧物料需求的风险。资源为单份docx文档压缩包大小约871KB格式规整便于查阅已有2542人学习浏览适合需要深入理解SAP替代物料逻辑并落地配置的PP模块从业者。1. SAP PP替代物料五个高频场景与一份能照抄的操作手册在 SAP PP 模块里替代物料是那种平时没人管、一上线就让人挠头的东西。生产订单里 A 用完了自动跳到 BA 用 30% B 用 70%或者一组物料整体被另一组接管——这些场景听起来简单真去配的时候非连续标识、后继物料、终止组、策略、使用可能性、可用性检查 02哪个字段没对上都会静默失败。这份手册把平行切换、后继物料、后继组、按比例拆分和连续替代五类写法拆成可直接照抄的事务代码和 BOM 配置步骤适合 PP 顾问、物料计划和生产管理员照着配完能省掉大半天的试错。2. 替代方式怎么选平行切换与非平行切换的边界2.1 平行切换A用完了自动切B但MRP永远先响A平行切换是指一种严格按顺序消耗的替代逻辑A 物料库存为 0生产订单在物料可用性检查时自动切换到 BB 为 0 再切 C。它适用于旧料新料交替、成品结构不变、只是物料主数据不统一的场景。做这条配置时系统里 A 还是“最适用物料”B、C 只是后备。所以哪怕 A、B、C 全部无库存MRP 依旧会跑出 A 的需求。原手册里写得很直白A、B、C 都没有库存时MRP 会跑出 A 的需求。这意味着如果你希望彻底淘汰 A不能只靠平行切换必须配合 BOM 更改编号、生效时间或者直接用 CS20 把 A 批量替换成 B。平行切换对应的配置链路核心在物料主数据的 MRP4 视图和 MRP3 视图。我先给一条最常用的顺序MM02 - MRP4视图 : 非连续标识 1 , 后继物料 66000036 MM02 - MRP3视图 : 可用性检查 02 CA01 - 维护工艺路线 (与正常订单相同) CS01 - BOM组件 : 把 66000037 和 66000036 都挂到成品下 MIGO - 给 66000037 补库存 45 , 给 66000036 补库存 100 CO01 - 下达生产订单 , 物料可用性检查后自动计算替代逻辑说明非连续标识 1 表示该物料是“单一平行终端的部分物料”业务含义就是“这个料正在淘汰但允许被另一个料平行接管”。后继物料字段填 B系统在 A 库存不足时自动把缺口算到 B 上。MRP3 视图的可用性检查 02 是触发条件不设置的话系统根本不会去核对库存也就不会启动替代。最后一步 CO01 下达时如果需求是 100PCA 库存只有 45PCB 会自动补 55PC不需要人为改组件。参数说明非连续标识不是随便填的原手册里提到 1 和 3 两个值。1 用于单独被后继物料接管的情况3 用于“相关平行不连续部分”也就是在一个后继组里这个物料不是触发点只跟着整组切换。如果两种物料用量不等比如 A 用 2 个、B 用 3 个还要在 BOM 里补用量差异的设置否则替代数量会算错。这种场景我一般建议直接改成按比例替代逻辑更直白。还要记住一个边界平行切换只适用于两种物料逐级替换。三种及以上用连续替代更稳妥。而且原手册里有一句很关键的话——“只有此设置是 A 消耗完再消耗 B进行累加扣减其他替代都是不足替换不考虑库存”。平行切换里需求 100、A 库存 45系统自动生成 B 的需求 55这是累加扣减逻辑后面要讲的比例替代和连续替代是按“缺口替代”的逻辑完全不同千万别拿一套脑补去配另一套。2.2 只消耗不采购物料状态02与安全库存的人工闸门生产里经常有这种局面A 物料还没用完但采购部门已经不能再买。业务上要“只消耗不采购”。原手册给了三步维护 BOM、设置警示库存、管理判断。第一步维护 BOM。要先把 A 冻结在 BOM 里再改主数据。如果先冻结再维护 BOM 会直接报错那时 BOM 里还是 A但已经改不了只能返工。具体操作是把 A 物料主数据采购视图里的“物料状态”设为 02。注意02 这个状态控制的是 BOM并不直接控制采购。是否连带控制采购申请、采购订单取决于后台 OMS4 里的配置。所以别以为设了 02 采购员就完全不能碰 A要实际测一遍你公司的状态文件。第二步设置警示库存。在 A 的主数据里放一个安全库存。当库存消耗到安全库存以下系统会产生采购申请。因为物料状态限制采购员无法把采购申请转成采购订单。这个采购申请其实是个信号计划员看到它就知道该人工判断了。提前期就在这里体现备安全库存是为了给买 B 留出足够的时间。第三步管理判断。当 A 还有订单用、库存又降到警示线时计划员面临三种选择继续用 A 并补充采购彻底切 B 并处理 A 的剩余库存或者 A、B 并存。判断完之后再决定改组件清单、改物料状态还是改 BOM 重新跑 MRP。原手册给的事务代码是 CO02、MM02、MD02说明生产订单、物料主数据、MRP 都可能动。操作事务代码作用批量更换 BOM 组件CS20一个物料全面被另一个物料替代时批量改 BOM物料状态 02MM02控制 BOM 维护是否控制采购看 OMS4安全库存MM02触发警示信号给出采购提前期计划员处理CO02 / MM02 / MD02改生产订单 / 物料状态 / 重跑 MRP注意这里说的“物料状态 02”和上文里的“非连续标识”是两套机制不要混。物料状态 02 用在“只消耗不采购”非连续标识用在“自动切换到后继物料”。实际项目中旧料退场经常两个一起用BOM 里先用连续替代确保库存能用完再在采购视图把物料状态设成 02 防止新采购。这样生产订单还能正常下达采购员又买不进旧料。选型时记住凡是“能不能继续买”的问题优先看物料状态凡是“库存用完后自动换谁”的问题优先看非连续标识和后继物料分清楚这两条线后面配起来不会晕。3. 两个物料的后继替代从MM02到CO01的完整链路3.1 非连续标识和后继物料MRP4视图里的两个关键字段继续深入后继物料。原手册给了三个物料号66000036、66000037、66000039。这里我们以 66000037 作为旧料 A66000036 作为后继物料 B。配置前先确认 BOM 里已经能同时看到两个料并且两个料都已经建立了物料主数据。很多项目里这两个料明明存在但看不到多半是物料类型或工厂视图没维护全。配置步骤1. MM02 输入物料 66000037, 进入 MRP4 视图 非连续标识 1 后继的物料 66000036 2. MM02 输入物料 66000037, 进入 MRP3 视图 可用性检查 02 3. MM02 输入物料 66000036, 维护工作计划视图 4. CS01 维护 BOM, 把 66000037 和 66000036 都作为组件挂入 5. MIGO 给 66000037 补库存 45, 给 66000036 补库存 100 6. CO01 创建生产订单, 产成品数量 20, 组件需要 100PC逻辑说明第 1 步是告诉系统“66000037 正在被淘汰由 66000036 接管”。第 2 步是让系统在订单下达前做物料可用性检查。第 3 步是因为后继物料如果要下生产订单必须有工作计划视图否则系统直接报错说缺少调度主数据根本到不了替代逻辑。第 4 步是把两个料都放进 BOM。有人问BOM 里放两个料会不会造成重复需求不会因为非连续标识已经标记了替代关系物料可用性检查会先看 A 库存不够才分配 B。第 5 步构造库存A 只有 45B 有 100。第 6 步订单要 100PCA 只有 45所以 B 自动替代 55PC。参数说明非连续标识可以填的值里1 代表“单一平行终端的部分/物料”适合两个料一对一替换如果你的替代关系是一组料整体被另一组料接管就要用 3并且后继物料字段留空这在 3.2 里展开。可用性检查 02 在 MRP3 视图原手册特别强调“如果不检查不会替代”这是最常见的静默失败点。还要提醒一个细节如果 A、B 两个物料在 BOM 里的用量相等以上设置就够了如果用量不等比如 A 用 2 个、B 用 3 个就不能只靠 MM02还要回 BOM 里做补偿设置。这种场景我更推荐直接改成按比例替代因为比例替代天然支持不同用量不用在 BOM 里绕来绕去。3.2 物料后继组中止组代码必须和后继组一致比两个料一对一更复杂的是一组物料被另一组接管。原手册场景成品 66000033 的 BOM 下挂了四个组件 66000031、66000032、66000034、66000035。31 和 32 属于被替代组 A34 和 35 属于后继组 B。触发条件是 31 的库存为 0整个 A 组切到 B 组哪怕 32 还有 100 库存也一样切。这种“整组切换”在替换一批同规格但不同编码的料时非常实用。先配置物料主数据MM02 66000031 MRP4视图: 非连续标识 1 , 后继的物料 66000034 MM02 66000032 MRP4视图: 非连续标识 3 , 后继的物料 (留空)逻辑说明31 是触发物料它定义了自己的直接后继是 34所以填非连续标识 1 和后继物料 34。32 不是触发物料它只需要声明“我属于这个不连续组”非连续标识填 3后继物料必须留空。如果给 32 也填了一个后继物料整组替代逻辑可能会变成两条独立链路和设计意图不符。再配置 BOMCS02 输入抬头物料 66000033, 双击组件 66000031 的数量 - 点击 终止数据 - 中止组 输入 A CS02 双击组件 66000032 的数量 - 同样输入中止组 A CS02 双击组件 66000034 的数量 - 点击 物料后继数据 - 后继组 输入 A CS02 双击组件 66000035 的数量 - 同样输入后继组 A 保存后: 附加 - 更多的 - 终止信息, 查看后继组效果逻辑说明中止组和后继组里的组代码必须完全一致系统才能把这两组关联起来。原手册特别提到之前有文章误导给替代项目组也填了信息导致终止数据灰掉。如果子项目里设置了替代项目组需要先把那个替代项目组信息关闭或删除否则“终止数据”按钮是灰的点不了。两个物料都设成中止组表示“这两个缺一不可地要被替代”34 和 35 设成后继组表示“这两个一起接管前面的组”。测试场景31 库存 0、32 库存 100、34 库存 200、35 库存 300。生产订单需要组件各 200物料检查后31 和 32 都切换到了 34 和 35。表面上看怪怪的32 明明有 100 库存为什么不用因为替代单元是整组不是单个物料。31 没库存触发整组切换32 也跟着被切过去。如果你希望物料有库存就先消耗库存不要做整组切换那就不要用后继组改回两个料单独维护后继物料或者用连续替代。关于“把四个物料都添加到一个 BOM 里一起维护”原手册说也可以把四个物料都放到一个 BOM 里统一维护终止组和后继组效果一样只是维护界面更集中。我一般建议如果一个成品下还有其他物料还是按子项目分别维护避免误碰其他组件行。注意点如果中止组代码和后继组代码不一致CS02 这个界面不会给你任何错误提示直到 CO01 物料检查时才发现没有替代关系。所以配完一定要去“终止信息”里确认。后面第 5 章会专门讲为什么这里经常翻车。4. 多物料替代的两种配置按比例拆分与连续替代4.1 按比例拆分策略1时只认使用可能性不认优先级按比例替代适用于什么场景A、B、C 三个物料性质、功能完全相同只是生产日期或供应商不同比如多供应商供货导致物料号不一致。这时候生产上希望按 50:30:20 的比例同时消耗三种料而不是等一个用完再切下一个。原手册把这叫“按比例拆分不考虑优先级”。BOM 配置CS01 维护成品BOM 双击组件数量, 把 66000031, 66000032, 66000034 三个物料维护到同一组 A - 策略 1 (手工维护/按用途可能性) - 使用可能性: 66000031 50, 66000032 30, 66000034 20 - 优先级字段不填或者不理会 CA01 维护工艺路线 CO01 创建生产订单: 生产数量 100, 原材料需求 200逻辑说明策略 1 表示系统按“使用可能性”分配需求优先级字段此时不起作用。使用可能性就是百分比50 30 20 100订单需要 200 个原材料时系统会自动拆成 100、60、40。如果不输入比例生产订单里三个物料需求都是 0物料检查时才去找合适物料如果三个都输入 100也都显示全额检查时再找如果 A 输入 100、其他 0则默认 A 显示全额但检查时仍会根据实际库存变动。参数说明使用可能性之和不一定是 100。如果你填了 50 和 25总和 75系统不会报错而是按比例归一化计算。A 的需求数量 总用量 × A 的使用可能性 / (AB 的使用可能性之和)即 1 × 50% / (50% 25%) 0.667B 1 × 25% / (50% 25%) 0.334。问题在于计量单位是 PC 时0.667 会引发整数问题系统可能显示需求数量不足 1 或订单量不对。所以最好把三个料的使用可能性之和维护成 100。这里还要区分“使用可能性”和“优先级”策略 1 时优先级是摆设策略 2 时才看优先级。工艺路线不是替代参数但必须有否则生产订单都建不出来。和正常工艺路线没差别不做额外演示。这个点常被新手忽略建完 BOM 去 CO01 创建订单报“缺少工艺路线”才发现。还要注意按比例替代里的“合适物料”是库存数量。即便 A 有 100、B 只有 10比例还是按 50:30:20 拆分不是优先消耗库存多的。如果某个料库存不够物料可用性检查会给提示不会自动用另一个料的库存补缺额。这一点和平行切换的累加扣减逻辑完全不同别混。4.2 连续替代策略2时优先级决定消耗顺序连续替代解决的是三个及以上物料逐一接力31 用完了用 3232 用完了用 34。每个物料库存都是 200PC需求 300 时系统先吃 31 的 200再吃 32 的 100等 32 也空了才轮到 34。和 3.1 的两个料后继替代相比连续替代的适用面更广、不用在 MM02 维护多组后继关系直接在 BOM 里用替代项目组表达顺序。先做前置条件这个经常被漏掉MM02 每个物料 MRP3视图: 可用性检查 02逻辑说明如果可用性检查不是 02系统不知道去核对库存数量。原手册直接给了一个教训库存只有 200因为不检查生产订单可以下 300发料时才发现库存不足。这在连续替代里更致命因为替代本身依赖可用性检查去触发“这个料不够、换下一个料”。然后维护 BOMCS02 进入成品BOM 双击 66000031 的数量, 替代物料组输入 A 点击替代项目组旁边的蓝色小箭头, 维护: 项目行 物料 优先级 策略 使用可能性 0020 R11007345 1 2 空 0030 R11007028 2 2 空 0040 R11007344 3 2 空参数说明这里的优先级从 1 到 3数字越小越先消耗。策略 2 是 100% 检查表示完全按优先级顺序来不掺比例。使用可能性留空因为连续替代不按百分比分配。替代组 A 只是一个逻辑分组名不同替代组之间互不影响。所有需要替代的物料必须都在 BOM 里缺一个都会导致替代链断裂。CO01 创建生产订单后每次只能使用一个物料。31 库存 200只能下 100 个成品的订单31 库存归零后再下单系统自动跳 3232 归零再跳 34。超出当前物料库存的部分不会自动累加到下一个物料而是直接报错生产订单无法下达。所以“连续替代”不是“缺口累加”而是“用完再切换”。这一点和 3.1 的两个料后继替代不同——两个料后继替代里A 只有 45、需求 100B 会自动补 55连续替代里A 只有 200、需求 300订单直接失败。两种方式怎么选如果只有两个料优先用 MM02 后继物料配置最少、逻辑最清晰。如果有三个及以上的料要按顺序消耗别在 MM02 里层层指后继物料直接用连续替代维护一张优先级表后续加料改优先级都很方便。5. 替代不生效的排查现场五个经典坑与对应解法5.1 可用性检查没开后继物料永远不触发现象MM02 里非连续标识和后继物料都填了BOM 也有两个料但 CO01 下达时组件清单还是只有 A甚至 A 缺料也不见 B 的身影。原因MRP3 视图的“可用性检查”没有设成 02。系统默认不启用可用性检查替代逻辑永远不会被触发。这个字段藏得深很多配置只看了 MRP4 就以为完事了。解决MM02 进入物料 A 的 MRP3 视图把可用性检查改成 02已经创建的生产订单要检查订单类型对应的可用性检查控制必要时在下达界面确认“物料可用性检查”开关是勾上的。5.2 终止数据灰掉多半是残留了替代项目组现象CS02 双击组件数量进入子项目想点“终止数据”输入中止组按钮是灰的点不了。原因这个组件行里已经有替代项目组信息。系统里终止数据用于后继组和替代项目组用于策略/优先级是互斥的存在一个另一个就不可编辑。解决先把替代项目组对话框里的信息清掉保存后再重新双击进入终止数据按钮就会恢复可点。配完后原手册还提醒如果设了替代项目组需要关闭或删除信息否则终止数据灰掉。5.3 后继组不生效先查代码一致性和非连续标识现象A 组 31、32 设置完后继组CS02 的“终止信息”里看不到任何关系CO01 也不触发整组切换。原因最常见的是中止组代码和后继组代码不一致比如一个填 A 一个填 a或者一个带了空格。另外触发物料 31 必须设非连续标识 1 并填写后继物料同组其他物料设非连续标识 3后继物料留空。如果 32 也填了后继物料整组逻辑会被拆散。解决把中止组和后继组代码统一成同一字符串去掉大小写差异和空格检查 31、32 的 MRP4 视图非连续标识按原手册规范重新维护。5.4 按比例替代需求数量为0或不足1现象CS01 按比例维护了使用可能性但 CO01 出来后组件需求数量全是 0或者显示 0.667 之类的数发料数量对不上。原因使用可能性没维护或者维护的和不是 100策略虽然选了 1但系统按归一化比例计算比例和不为 100 时PC 单位下小数位直接丢弃产生需求数量不足 1 的问题。解决把同组所有物料的使用可能性之和维护成 100如果必须保留特殊比例先确认计量单位支持几位小数并估算最小订单量是否大于单位精度。检查 CS01 替代组里策略是否是 1别让策略 2 混进来。5.5 MRP还盯着淘汰料平行切换的隐藏逻辑现象A、B、C 三个料都设置了连续替代或后继物料库存全部归零后MRP 还是只跑出 A 的采购申请B、C 的申请一个没有。原因平行切换里 A 被系统视为“最适用物料”替代只是一种库存不足时的补救机制。只要 A 存在 BOM 组件里MRP 就会按正常逻辑为 A 算需求。原手册也直说这种情况下 MRP 会跑出 A 的需求。解决如果 A 已经彻底退役不要指望替代功能来替你淘汰它。用 CS20 把 BOM 里所有 A 批量替换成 B或者用 BOM 更改编号、生效时间限制 A 的有效期让 MRP 不再考虑 A。替代功能适合消耗库存的过渡期不适合永久退役。6. 验证替代逻辑的四个习惯CS02终止信息与CO01物料可用性检查配置替代物料最怕的不是不会配而是配完不敢确认。我现在固定用四个步骤做验证每个项目上都这么走一遍基本能把翻车概率压到最低。第一步改完 BOM 先看终止信息。CS02 进入抬头物料菜单栏里“附加 - 更多的 - 终止信息”一屏就能看到中止组和后继组是否成对出现。如果这里空白说明 BOM 里的组关系根本没建立别急着去下订单。第二步CO01 创建一张小数量订单切到组件视图点物料可用性检查。看组件行是否从 A 跳成 B或者需求数量是否按比例拆分。这一步能同时验证非连续标识、可用性检查 02、策略和优先级是否正确。第三步用 MD04 看库存/需求清单确认替代产生的需求落在正确的物料上。有些替代虽然订单显示了但跑 MRP 时又回到旧料MD04 能帮你判断是 BOM 问题还是主数据问题。第四步对照自检清单扫一遍。我平时用的清单很简单检查项事务代码期望结果非连续标识MM02-MRP4A 1 且填后继物料组内其他 3可用性检查MM02-MRP302终止数据/后继组CS02终止信息可见策略与优先级CS01/CS02比例场景策略 1顺序场景策略 2使用可能性CS01同组之和 100测试订单CO01物料检查后组件正确我记得有一次给车间配后继组中止组和后继组都填了“A”但 CS02 终止信息就是看不到关系订单也不切。最后发现是其中一个物料 MRP4 的非连续标识没保存另一个填了后继物料。查了大半天。从那以后每次改完替代配置我都强制走一遍“CS02 终止信息 CO01 物料检查”双确认不再凭印象判断。希望帮到你。本文还有配套的精品资源点击获取