SAP PP替代物料配置与避坑:后继物料、连续替代及BOM拆分 简介《SAP-PP-替代物料操作完全手册》面向SAP生产计划与物料管理从业者聚焦生产订单中物料耗尽后的自动切换、按比例消耗以及后继物料配置等实际问题帮助读者理解平行切换与非平行切换的差异并掌握从主数据到BOM的完整设置思路。包内为1个docx文档约871KB内容围绕CS20b批量更换组件、只消耗不采购的物料状态与安全库存处理、两个物料替代及物料后继组、按比例拆分等场景展开配有操作事务代码和注意点便于对照系统逐项排查。已有2553人学习下载适合需要处理替代物料、优化库存与降低断料风险的PP顾问、计划员和关键用户参考。读者可从中获得替代策略选择、主数据与BOM维护要点、可用性检查触发条件以及常见配置误区的排错思路提升生产订单物料切换的准确性与执行效率。1. 替代物料最容易出问题的地方偏偏是“都配完了”MRP 跑完采购员拿着报表找过来说需求行里还是那个已经停用大半年的旧料号——这是我在 SAP-PP 替代物料上见过最多的问题。SAP 里替代物料从大类上只分两种平行切换和非平行切换。平行切换是 A 用完切 B、B 用完切 C非平行切换是几个物料按比例同时消耗。配置本身不复杂问题在于两种切换动的是完全不同的地方一个动物料主数据 MRP4 视图一个动 BOM 行项目一个靠可用性检查触发一个靠创建订单时按比例拆分。用错哪一种轻则订单下不去重则库存压一堆旧料还查不出原因。这篇按「后继物料 → 后继组 → 按比例拆分 → 连续替代」四条线把字段值、操作顺序和踩过的坑一次讲透适合已经能独立跑 MRP、建生产订单但在替代逻辑上翻过车的计划员和内部顾问。2. 后继物料替代MRP4 两个字段加可用性检查 02 的完整链路2.1 非连续标识和后继物料到底控制了什么物料主数据 MRP4 视图里有两个字段撑起了整条后继物料链非连续标识和后继的物料。前者是通知标志告诉系统“这个物料正在被淘汰”后者是去向。一个物料只能维护一个后继物料这是硬性边界也是这套方法只适用于两种物料替换的根源。要理解它的作用范围得先分清 SAP 里的两条线。一条是计划线MRP 按 BOM 展开算需求另一条是执行线生产订单做可用性检查、投料、发料。后继物料这条链路主要作用在执行线——订单组件需求确认的那一刻系统发现主料库存不够就按主数据里的后继关系把缺口部分换成后继物料。这也是为什么原文强调“A 物料设置可用性检查 02如果不检查不会替代”可用性检查是触发点缺了它系统根本不会去核对库存后继关系就不会起作用。那为什么用后继物料而不是直接改 BOM因为 BOM 是带历史记录的。直接改 BOM 会影响已下达订单的组件行、影响成本核算的基准、影响工程变更的可追溯性。后继物料是在主数据层配置一次、所有含该物料的订单都按同一规则走改动面小、回退也容易。常见做法是短期过渡用后继物料长期停产才动 BOM。这里还有一个容易被忽略的前提——工作计划视图。原文写得很明确66000039 需要维护工作计划视图否则不能下生产订单。这跟替代逻辑本身没关系但会直接阻断验证很多人在这一步以为是替代没配好其实是工艺路线缺失。提示不同版本、不同语言包下 MRP4 视图里非连续标识的档位译名会略有出入字段含义以系统里 F1 帮助的说明为准不要照着某一篇帖子死记。2.2 从 MM02 到 CO01一步一步把链路跑通整个过程可以拆成五步每一步失败都会让后面的步骤白做。下面这张表是我按实际操作顺序整理出来的字段清单照着填基本不会走偏。步骤事务代码视图或对象关键字段值1MM02基本数据、MRP 视图物料类型、MRP 类型按实际业务2MM02MRP4 视图非连续标识 / 后继的物料1 / 660000363MM02MRP3 视图可用性检查024MM02工作计划视图工艺路线、工序必须维护5CS01BOM 行项目组件、数量挂主料第 1 步建物料本身没什么讲究关键是第 2 步那个“1”。非连续标识填 1 表示这是单一平行终端物料系统把它当作一个可被替代的锚点后继的物料填 66000036就是把去向钉死。注意这里的方向被替代的物料填后继物料号而不是反过来。很多人第一次配会把方向填反结果是新料一有库存就把旧料顶掉业务上完全反了。第 3 步的可用性检查 02 是整条链的开关。这个字段在 MRP3 视图不在 MRP4找的时候别翻错页。填 02 之后系统在订单创建或下达时会做单个需求的可用性核对库存不足的部分才会去找后继物料。第 5 步挂 BOM 的时候只挂主料后继物料不挂进去。这是这套方法和后面要讲的“连续替代”最直观的区别连续替代要把所有物料都塞进 BOM后继物料只挂一个。配完之后跑一个最小验证MIGO 给 66000036 收 100 PC66000037 收 45 PCCO01 建生产订单成品 20 个、单件用量 5总需求 100 PC。系统做可用性检查后66000037 出 4566000036 补 55。看到这个拆分结果链路就通了。需求总量 : 100 PC 主料 66000037 : 45 PC 库存全出 后继 66000036 : 55 PC 补缺口这里有个细节值得说清楚系统不是“等 A 库存彻底为 0 才切 B”而是在可用性检查时按缺口补。原文里那句“A 的库存为 0 的时候自动切换到 B”是简化说法实际表现就是上面这种部分替换。如果业务要求“必须 A 全空才准用 B”那得用后面的连续替代加优先级不是这套。2.3 为什么三种以上物料不能用这套原文的注意点写得很干脆此方法只适用于 A、B 两种物料替换三种及以上不可用。原因就在“一个物料只能有一个后继物料”这条约束上。A 的后继是 BB 的后继是 C理论上能串起来但系统在执行时的判断逻辑并不做链式查找——它只看当前物料的后继不会顺着 B 再找 C。真要做三级替换得靠 BOM 层的替代组或者连续替代。第二个边界是用量不相等。A 用 2 个、B 用 3 个的场景光靠 MRP4 的两个字段搞不定还要在 BOM 行项目里配置后继的用量关系配置复杂度会明显上升。原文的建议是这种情况下直接换第二种方法只消耗不采购更简单——这个判断我认同配置成本差不多但可维护性差一截。第三个边界是累加扣减的语义。原文那句“只有此设置是 A 消耗完再消耗 B进行累加扣减其他替代都是不足替换不考虑库存”是全文最值钱的一句。意思是后继物料这套是真正按库存顺序往下扣的A 扣完才动 B而 BOM 层的替代组在多数配置下是“不足才替换”系统并不关心你 A 还有多少库存只看需求能不能被满足。这两者的行为差异在盘点和对账时会被放大。3. 物料后继组中止组与后继组配对一组换一组3.1 非连续标识 1 和 3 的分工单个物料的后继好理解一组物料换另一组就绕了。典型场景是主板套件66000033 下面挂 66000031、66000032、66000034、66000035 四个组件前两个是 A 组老版后两个是 B 组新版B 组整体替代 A 组而且以 66000031 的库存有无作为切换信号。这里的非连续标识要填两个不同的值。66000031 填1同时后继的物料填 6600003466000032 填3后继的物料必须留空。这不是随手填的标识 1 的那个物料是整组的触发锚点系统盯着它的库存标识 3 的物料是从属件跟着组走自己不需要独立的后继指向。给 66000032 也填一个后继物料系统反而会混乱。原文提到被某篇文章误导过、一直达不到效果问题大概率就出在这个“3 要不要填后继物料”上。我的建议是只要用了后继组组内除锚点物料外一律留空。3.2 CS02 里给每个组件打上中止组和后继组主数据配完接下来是 BOM。这一步的操作路径比较深容易点错层级按下面的顺序走CS02 输入抬头物料 66000033回车进入行项目概览。双击 66000031 那一行的数量字段进入组件明细。点「终止数据」在中止组里输入A。返回双击 66000032 的数量同样设中止组A。返回双击 66000034 的数量点「物料后继数据」在后继组里输入A。66000035 同样设后继组A。保存。两个组的代码必须完全一致。原文特意强调了这一点因为这是最容易翻车的地方——中止组写 A、后继组写 B保存不报错但系统里两组关联不上做可用性检查时毫无反应你还以为是库存数据的问题。还有一个前置条件如果这几个组件之前被挂进过某个替代项目组中止数据按钮会是灰的点不动。得先把替代项目组清掉再设中止组。这一点原文用“附”的形式写了实际操作中踩的人不少。配完之后的验证路径是CS02 进入 BOM → 菜单栏「附加」→「更多的」→「终止信息」能看到组的前后对应关系就说明配对了。这个检查动作花不了十秒但能省掉后面半小时的排查。3.3 整组切换的触发条件为什么有库存的料也被切走验证数据和结果值得单独拎出来说。库存设成 66000031 0、66000032 100、66000034 200、66000035 300下生产订单 100 个每个组件各需 200 PC点物料可用性检查。结果是 66000031 切到 6600003466000032 切到 66000035。注意第二个结果66000032 明明有 100 库存也被整组切走了。这就是后继组和单物料后继的本质差别——切换是整组发生的触发条件只看锚点物料。66000031 库存为 0整组立刻切换组内其他成员有多少库存不影响判断。业务上的解释也说得通A 组和 B 组是配套的缺一个件整套就装不起来所以要么全用 A 组要么全用 B 组不存在混装。理解这一点之后设计数据时就得反过来想锚点物料选谁。选错了锚点切换时机会跟实际业务节奏对不上。常见做法是选组内价值最高、或者采购提前期最长、或者最先耗尽的那个物料当锚点。另外原文提到四个物料也可以放进同一个 BOM 里一起维护。这个做法在组件多的时候更省事但要求所有组件在同一个 BOM 层级跨层级的场景还是得分开配。4. 按比例拆分与连续替代使用可能性、优先级与策略 1/24.1 使用可能性和策略值决定的是两种完全不同的行为BOM 行项目里双击数量进入组件明细点「替代项目组」旁边的蓝色箭头会弹出一个维护界面四列项目行、物料号、优先级、策略、使用可能性。这四列的组合决定了替代行为而其中策略是最关键的开关。策略 1 是手工维护/按用途可能性含义是“这几个物料同时按比例消耗”。三个物料按 50/30/20 配生产订单就会按这个比例把总需求拆成三份不管库存够不够。策略 2 是 100% 检查含义是“按优先级逐级找找到能用的就用”。这两个策略不能混用一个替代组里必须统一。选型上我的判断标准很简单物料之间能不能互换使用。同一个物料的几个不同供应商批次、不同生产日期功能完全一样那就是策略 1按比例分摊老版本和新版本存在功能差异、或者有明确的切换先后顺序那就是策略 2按优先级逐级消耗。策略 1 下优先级不起作用这一点原文写得很清楚。很多人配了优先级又选策略 1然后发现优先级“没生效”其实不是 bug是设计如此。4.2 按比例拆分的算法和比例之和不等于 100% 的后果策略 1 下的拆分口径原文给了一个公式我把它写成可以直接跑的函数方便在配置前先算一遍预期结果跟系统跑出来的对一下对不上就说明配置有问题。def split_by_usage(total_qty, usage_pct): 按 BOM 使用可能性拆分原材料需求 total_qty : 生产订单对该组物料的总需求量 usage_pct : {物料号: 使用可能性(%)} 返回 : {物料号: 拆分后的需求数量} total_pct sum(usage_pct.values()) if total_pct 0: raise ValueError(使用可能性之和为 0系统会提示补录) return {m: round(total_qty * p / total_pct, 3) for m, p in usage_pct.items()} # 场景一三个物料按 50 / 30 / 20 分配订单总需求 200 PC print(split_by_usage(200, {66000031: 50, 66000032: 30, 66000034: 20})) # {66000031: 100.0, 66000032: 60.0, 66000034: 40.0} # 场景二比例之和只有 75A50 / B25 print(split_by_usage(1, {A: 50, B: 25})) # {A: 0.667, B: 0.333} —— 与 SAP 订单里的计算口径一致函数的第二个参数是使用可能性单位是百分比内部先求和再按权重分摊所以比例之和是多少并不影响分摊的相对关系。这个设计在系统里也一样50/25 会按 2:1 分摊50/30/20 会按 5:3:2 分摊。但“相对关系对”不等于“结果对”。原文提醒的那个坑很实在比例之和不是 100 的时候计量单位是 PC 这类整数单位就会出问题。总需求 1 PC、按 50/25 拆出来是 0.667 和 0.334系统做取整之后两边加起来可能只有 1也可能因为各自进位变成 1.001 再被砍成 1——具体表现取决于单位的小数位设置和取整规则。业务上的后果是某一侧数量不足发料时短缺。注意替代组内所有组件的使用可能性之和业务上应该配成 100%。不为 100% 系统不会报错但拆出来的数量容易在取整环节出偏差尤其是小批量订单。实际操作中如果某个物料暂时不用把它配成 0 而不是删掉这样组的结构保留后续恢复方便。原文提到“如果 A 输入 100其他的输入 0那么默认 A 显示全额但检查时也根据实际合适物料变动”——这句话说明了策略 1 的一个隐含行为使用可能性影响的是拆分比例不是硬性可用性判断系统仍会在检查时看实际库存。这个行为容易让人困惑配完一定要用一张真实订单跑一遍对数量。4.3 连续替代的优先级配置和逐级消耗连续替代是策略 2 的主场。三个物料 66000031、66000032、66000034 全挂进 BOM每个库存都是 200 PC替代组统一命名为 A替代项目组里按下面这样配项目行物料号优先级策略使用可能性00206600003112空00306600003222空00406600003432空策略 2 下使用可能性留空优先级数字越小越优先。系统行为的核心是“逐级消耗、单次单料”下一张 100 个成品的订单如果 66000031 的 200 PC 库存够单件用量 2需要 200那就全用 66000031等这 200 消耗完库存归零下一张订单才自动跳到 66000032。每一级只能用当前物料库存能覆盖的数量超出就报错、订单也下达不了。原文那句“每次只能使用一个物料”是这个模式的精髓也是它跟后继物料最大的差别。后继物料是主料不够、后继补缺口一张订单里两个物料同时出现连续替代是一张订单只用一个物料用完了下一张再换。这个差别直接决定了盘点口径和成本核算方式选型时要想清楚。还有一个硬前提替代物料必须在生产订单下达时做可用性检查才会触发替换。这个开关在物料主数据 MRP3 视图的可用性检查字段跟第 2 章讲的是同一个字段。原文举的例子很典型库存只有 200但因为不检查生产订单能下 300下的时候一切正常发料时才报库存不足。这种错在位早期发现成本最低等发料时才发现排产计划已经乱了。5. 避坑与排查替代没生效、订单下不了、MRP 跑错料5.1 现象可用性检查跑了组件全是主料一个都没换原因基本锁定在可用性检查规则上。物料主数据 MRP3 视图的可用性检查字段为空系统就不做库存核对后继关系和替代组都不会被唤醒。另一种可能是填了但填错档位比如该填 02 填成了 01检查范围不对同样不触发替换。解决MM02 进 MRP3 视图把可用性检查改成 02保存后重新建订单验证。改完不要拿老订单测老订单的组件已经确定了得新建一张。5.2 现象生产订单创建时报错提示工艺路线不存在原因跟替代一点关系都没有是工作计划视图没维护。原文在物料 66000039 上专门标了这一点。替代配置做得很漂亮但物料本身没有工艺路线订单根本下不去验证也就无从谈起。解决MM02 补工作计划视图或者用 CA01 单独建工艺路线。这类问题排查时容易被“替代”两个字带偏建议排查顺序固定成主数据完整性 → 可用性检查 → 替代配置从前到后不要跳。5.3 现象CS02 里「终止数据」按钮是灰的点不动原因是这个 BOM 行已经挂在某个替代项目组里了。一个行项目不能同时是替代组成员又是中止组成员系统用置灰来阻止这种冲突。解决先在组件明细里把替代项目组清空删除组代码保存再回来设中止组。清的时候注意如果这个组里还有其他物料清一个会让整组的比例关系失效得一起处理。5.4 现象中止组和后继组都设了但终止信息里看不到组的效果九成是两组代码不一致。中止组填 A、后继组填 B保存不报错但系统关联不上。原文特意点出了这个坑说之前被误导过、一直达不到效果。解决CS02 逐行检查两边的组代码改成完全一致。检查入口在「附加 → 更多的 → 终止信息」配对了这里能看到完整的前后对应。这个检查动作应该固化成配置后的标准动作而不是出问题才想起来。5.5 现象A、B、C 全都没库存了MRP 还是跑 A 的需求这是平行切换最反直觉的一点。系统里 A 始终是最适用的物料替代只是消耗时按库存往下切不改变计划层面的主料认定。所以三个物料库存都归零时MRP 仍然按 A 跑需求采购员看到的就是一堆旧料号。解决如果 A、B 已经长期不用别指望替代配置能把它从计划里摘掉直接动 BOM——用 BOM 的更改编号配合生效时间把 A 从 BOM 里换成新的主料。这样 MRP 展开时看到的就是新料号。原文给的建议就是这个方向我完全认同替代配置解决的是“消耗时怎么切”解决不了“计划时按谁算”这两件事必须分开处理。6. 批量换料与上线验证CS20 一把换完再用五项检查兜底前面讲的所有替代方式前提都是新旧料要共存一段时间。真到了旧料彻底消亡、新料全面接管的节点继续留着替代配置反而是负担。这时候用 CS20。CS20 是批量替换 BOM 组件的事务代码输入旧料号和新料号执行系统把所有含旧料的 BOM 列出来勾选需要替换的点「更换项目」。绿色表示这一条替换成功红色表示失败失败原因通常是 BOM 被冻结、或者该 BOM 有正在生效的工程变更。这一步是不可逆的旧料在 BOM 里彻底消失所以执行前必须先确认三件事旧料没有未清采购订单、没有未清生产订单组件需求、没有在途库存。我一般会先在一个 BOM 上单跑一遍确认绿色之后再批量勾选。批量跑之前把选中的 BOM 清单导出来存一份出问题能对得上号。真正决定这次上线成不成的不是配置本身而是上线前有没有走完验证。下面这五项是我每次都要过的序号检查项通过标准1主数据完整性参与替代的所有物料MRP3 可用性检查 02工作计划视图已维护2触发条件锚点物料库存设为 0其余物料有库存看是否整组切换3缺口补齐主料库存小于需求看订单组件是否按缺口拆分到后继物料4比例拆分策略 1 下按配置比例跑一张订单用脚本算的预期值对系统结果5逐级消耗策略 2 下连续建两张订单看第二张是否自动跳到下一优先级表格看着简单第 2 项和第 5 项最容易漏。第 2 项漏了整组切换的锚点选错都发现不了第 5 项漏了往往要到第二次下单才暴露优先级配反。还有个习惯值得养成所有替代配置的测试都用新建的订单不要复用历史订单。历史订单的组件在创建那一刻就定死了改配置不会回溯拿它验证等于自欺欺人。我之前就吃过这个亏配置改完看着“没生效”折腾了一下午才发现测的是三天前的单子。从那以后我每次改完替代配置都强制走一遍「新建订单 → 可用性检查 → 对比组件行 → 删除测试订单」这套动作一步不省。希望帮到你。本文还有配套的精品资源点击获取