简介:这份SAP-PP物料替代操作手册专为SAP生产计划顾问与物料管理人员编写,系统讲解了生产订单中A物料耗尽自动切换至B、按比例混用(30%/70%)、以及平行切换与非平行切换等典型场景。包中收录了完整docx文档一份,体积871KB,内容覆盖批量更换BOM组件(CS20)、只消耗不采购的物料状态控制、后继物料可用性检查设置、物料后继组配置、按比例拆分等高频操作,并附有T-Code、关键字段说明及注意事项;尤其详细说明了A、B用量不等时的处理建议,以及累加扣减与不足替换的执行差异。已有2550人学习下载,适合需要深入理解SAP替代物料逻辑、减少因物料短缺导致生产中断的实务人员。文档还特别提示了MRP始终优先跑出原物料A的特性,建议长期停用物料时改用BOM更改编号与生效时间进行管理,帮助读者避开常见陷阱、实现更灵活的库存与生产策略。
1. SAP 替代物料不是只有一种:先分清你要的是哪种切换
在 SAP PP 里做物料计划的人,早晚会撞上同一个问题:A 物料库存见底,订单没做完,是手工改 BOM,还是让系统自动切到 B 物料?我刚接触替代物料时以为这是一个开关,后来才发现 SAP 里叫"替代"的方案至少有五种——后继物料、物料后继组、按比例替代、连续替代,还有只消耗不采购的物料状态控制。
选错一种,轻则 MRP 继续跑旧料需求,重则发料直接报错。这套手册把每种替代都拆到了字段级:主数据在哪个视图设、BOM 里哪些按钮要进、可用性检查为什么是总开关。
适合 PP 顾问和生产、物料计划员照着配。先记住一个反直觉的结论:没有一种替代方案能覆盖所有场景,选型比配置更重要。
2. 后继物料设置:两个物料自动切换的完整路径
2.1 非连续标识与后继物料:MM02 里最关键的两个字段
后继物料是 SAP 替代配置里最基础的一条路,适合两个物料一对一替换。它的核心逻辑一句话就能说清:A 的库存被可用性检查确认耗尽后,生产订单自动把需求转给 B,而且是累加扣减——先扣完 A 再扣 B。这和按比例替代那种"每次下单都按百分比拆"的思路完全不同,理解了这个差别,后面看其他方案才不会混。
设置入口在 MM02,视图切到 MRP4。假设 66000037 是旧料 A,66000036 是后继 B,维护内容如下:
| 字段 | 设置值 | 说明 |
|---|---|---|
| 非连续标识 | 1 | 单一平行终端的部分/物料 |
| 后继的物料 | 66000036 | A 耗尽后接替的物料 |
非连续标识不是随便填的。值 1 表示这个物料是平行终端关系中单一的那个,后面有且只有一个后继;如果填 3,含义变成"相关平行不连续部分/物料",那是给物料后继组场景用的,两个物料替换的简单场景填 1 就够了。后继物料字段填写的是 B 的料号,方向别搞反。我见过有人在 A 上不填,跑去 B 上填 A,结果可用性检查时系统根本找不到后继,替代静默失效。
保存前我一般会把 MRP 相关的其他视图也过一遍,尤其是批量大小和策略组。后继替代本身对批量不敏感,但如果你给 A 配了按订单批量,而 B 是周期性批量,订单展开后的数量会出现奇怪的取整,看起来像替代逻辑出错,实际是批量参数在捣乱。
2.2 可用性检查与工作计划视图:缺一个就不生效
替代能不能触发,不取决于替代组本身,而取决于订单下达时做不做物料可用性检查。在物料主数据 MRP3 视图里,可用性检查字段必须设成 02。02 是"个体/汇总检查",系统才会在下生产订单时逐个核对这个物料的库存够不够。留空的话,CO01 可以一路顺畅地创建出来,数量写 300 也没人拦,等发料时才发现库存只有 200,MIGO 直接红报错。
这个坑的隐蔽性在于:配置过程完全没报错,BOM 和 MRP4 视图都对,唯独这个字段是空的,替代就永远不触发。我一般会把这个字段当作替代配置清单里的第一项来核对,因为它最容易被忽略,又最致命。
提示:可用性检查在 MRP3 视图,别去 MRP4 里找。方向找对能省半小时。
工作计划视图也不能漏。以成品物料 66000039 为例,如果它没维护工作计划视图,CO01 创建生产订单时会提示缺少工艺路线相关数据,订单根本到不了下达那一步。这里的"维护工作计划视图"不是让你把工序做进去,而是确保物料主数据里已经有了生产所需的字段基础,比如工序单位、标准值这类信息。CA01 建的工艺路线和这个是两回事,但很多人把这两件事混在一起排查,浪费不少时间。
2.3 完整走一遍:从 MIGO 补库存到 CO01 自动替代
按顺序操作一遍,替代效果就能直接看到。前提是物料 66000036、66000037、66000039 都已创建,BOM 用 CS01 维护在成品 66000039 上,组件挂的是旧料 A。完整路径分五步:
第一步,MIGO 给 66000036 补 100 个库存,66000037 保持 45 个不动。MIGO 里记得选对移动类型和工厂,补错了工厂,后面 MMBE 查库存会查到另一个工厂去,白白吓自己一跳。
第二步,MMBE 查看两个物料的库存确认。这一步的价值在于把库存基线定下来,后面订单展开数量对不对,全靠这个基线对比。
第三步,CO01 创建生产订单。成品 66000039 的生产数量定 20,BOM 里单位用量是 5,展开后原材料总需求就是 100 PC。此时 66000037 只有 45,物料可用性检查一跑,系统自动把余下 55 PC 的需求挂到 66000036 上。
第四步,回到 CO01 的物料可用性检查结果界面,确认行项目里出现 66000036 的数量 55。看到这个结果,替代配置才算真正生效。
整套流程里最需要注意的细节是:替代发生的时间点是"下达时的可用性检查",不是 BOM 展开时。也就是说,如果订单在检查后又被手工改动过组件或数量,替代关系不会自动重算,需要重新执行可用性检查。我实际排产时经常遇到计划员先下了单、后改数量的情况,改完数量不重新跑检查,发料时就出现短缺。
2.4 适用边界:两种物料、用量相等之外怎么选
原手册明确划了两条边界。第一,这个方法只适用于 A、B 两种物料替换,三种及以上直接不可用,别硬套。第二,BOM 中 A、B 的用量必须相等,比如都是 1 或者都是 2;如果 A 用 2 个、B 用 3 个,仅靠 MRP4 的后继设置不够,还需要在 BOM 项目行里补维护,否则切换时数量会算错。
遇到用量不相等或者物料超过两个的情况,我的习惯是放弃后继物料方案,直接走第四章的连续替代,或者第三章的按比例替代。这两种方案在 BOM 里用替代组控制,可以对每个物料单独维护用量,不受"用量相等"的约束,调整起来反而少一个限制。选替代方案时先想清楚你要的是"耗尽后切换"还是"按比例分配",这两个诉求对应的配置路径完全不同,选错再回头改,比从头配一遍还累。
3. 物料后继组:一组物料耗尽后整组切换的设置路径
3.1 主数据侧:非连续标识 1 和 3 的分工
物料后继组解决的是"一组物料整体被另一组替代"的场景。原手册给的例子值得直接抄:成品 66000033 的 BOM 下有四个组件,66000031 和 66000032 组成 A 组,66000034 和 66000035 组成 B 组,B 组是 A 组的后继组,且以 66000031 的库存有无作为整组切换的触发条件。
这个"以某个物料的库存作为前提"是理解后继组的关键。系统不是分别判断每个物料的库存,而是盯住触发物料 66000031,它的库存归零,整组一起切。
主数据侧设置用 MM02,进入 MRP4 视图,但两个物料填的值不一样:
| 物料 | 非连续标识 | 后继的物料 |
|---|---|---|
| 66000031 | 1 | 66000034 |
| 66000032 | 3 | 空 |
66000031 是触发切换的物料,所以它拿到非连续标识 1,后继物料指向 66000034。66000032 填 3,后继物料留空,表示它属于这个平行不连续关系中的相关物料,跟着组走,不单独指定后继。填 3 的时候如果顺手也填了后继物料,反而可能破坏整组切换的逻辑。我见过有人把 66000032 的后继也填上,结果 66000031 库存耗尽时只切了 66000034,66000032 还在坚持消耗,整条线的 BOM 展开就乱了。
3.2 BOM 侧:中止组与后继组的链接
主数据设完,接着用 CS02 打开成品 66000033 的 BOM。双击 66000031 的数量字段进入项目明细,找到"终止数据",在中止组里输入 A。66000032 参照同样操作,也把中止组设为 A。这样做的含义是:这两个物料被归入同一个中止组,它们属于"等待被替代的旧组"。
然后处理 B 组。双击 66000034 的数量字段,进入后点"物料后继数据",在后继组里输入 A。66000035 同样操作。注意:后继组里填的是 A,不是新编一个名字。中止组代码和后继组代码必须一致,系统才能把旧的 A 组和新的 A 组链接起来。原手册特别提到,之前照着某篇文章配,中止组写 A、后继组写 B,结果一直达不到整组切换的效果——两个名字对不上,替代链根本建立不起来。
还有一个前置干扰项:如果物料项目里预先维护了替代项目组,也就是按比例替代用的那个蓝色箭头配置,终止数据会变成灰的,点不进去。这时需要先把替代项目组的信息删掉,再维护终止数据。这两个功能在 BOM 项目里是互斥的,一个项目行只能走一条替代路线,硬要同时保留,系统就用置灰来提醒你。
3.3 验证:库存搭配测试与终止信息查看
配完别急着下单,先做一个针对性测试。按原手册的库存组合:66000031 = 0、66000032 = 100、66000034 = 200、66000035 = 300。生产订单数量 100,BOM 展开后每个组件需求 200。
点物料可用性检查后,结果应该是 66000031 和 66000032 的需求全部切到 66000034 和 66000035 上。注意 66000032 明明还有 100 个库存,但因为整组切换的触发条件是 66000031 耗尽,所以 66000032 的剩余库存不参与本次消耗,它也一并被切了过去。这个"哪怕有库存也要跟着切"的行为,正是后继组和按比例替代最直观的区别。
查看效果的方式是 CS02 打开 BOM,菜单栏走"附加 → 更多的 → 终止信息",这里能看到物料后继组的连接关系,中止组和后继组的对应一目了然。我每次配完后继组都会在这里截图归档,后面排查问题对照截图,比重新翻 CS02 各个页面快得多。
3.4 两种维护口径:分散维护与集中维护
原手册最后提到,四个物料可以分别在各自的项目行维护中止组和后继组,也可以把四个物料一起加到同一个 BOM 里集中维护。两种方式最终的替代关系一致,区别在维护效率和出错概率。分散维护适合 BOM 已经稳定、只改替代关系的场景;集中维护适合新搭建 BOM、顺带把替代关系一次配齐的场景。我建议新 BOM 一次配齐,减少后续在多个 BOM 之间来回切换的维护成本。
4. 按比例替代与连续替代:两种高频场景的配置差异
4.1 按比例替代:策略 1 与使用可能性的计算逻辑
按比例替代解决的场景很实际:多个供应商供同一种货,物料号不同但功能完全相同,生产时不想死磕某一个,而是按比例分配消耗。原手册给的例子是三个物料 66000031、66000032、66000034 互为替代关系,比例 50 加 30 加 20。
配置入口是 CS01 维护 BOM,把三个物料挂到同一个替代组里。双击数量字段进入项目行,系统会带出蓝色箭头,也就是替代项目组,点击后维护策略和使用可能性。这里策略字段只有两个值:
| 策略值 | 含义 |
|---|---|
| 1 | 手工维护 / 按用途可能性 |
| 2 | 100% 检查 |
选策略 1 时,优先级字段不起作用,真正起作用的是使用可能性,也就是消耗百分比。三个物料按 50、30、20 维护后,CO01 下生产订单,BOM 展开出 200 PC 原材料需求,系统直接拆成 100、60、40 三行,不需要手工分配。
注意:策略 1 下优先级不起作用,别同时维护优先级和使用可能性,维护了也不会按优先级走。
使用可能性不填和填 100 是两个常见误操作:全不填,生产订单行项目里显示 0,检查时系统按实际可用物料找合适的替代;全填 100,每个物料都显示全额需求,检查时才根据库存调整;只把 A 填 100、其他填 0,A 默认显示全额,但检查时同样会按实际库存变动。理解这个逻辑后就不会被订单界面上的数字吓到——显示数量不等于最终分配数量,可用性检查那一步才是定论。
4.2 非 100% 比例的计算公式与 PC 单位的坑
如果使用可能性之和不是 100%,系统不会报错,而是按比例关系自行折算。原手册给出了标准公式:
A 的需求数量 = A 的使用量 × A 的使用可能性 /(A 的使用可能性 + B 的使用可能性)
举例:A 设 50%,B 设 25%,则 A 的需求 = 1 × 50% /(50% + 25%)= 0.667,B 的需求 = 1 × 25% /(50% + 25%)= 0.334。看起来数学上没问题,但落到计量单位是 PC 的物料上,0.667 个这种小数会被取整,订单行项目加总后可能少于实际需求,发料时就出现"所需物料数量不足"的警告。
所以按比例替代的第一条配置纪律是:把使用可能性凑成 100%。50 + 30 + 20 是原手册验证过的组合,含义清晰又不容易出错。如果供应商份额调整了,记得同步改三个物料的比例,而不是只改其中一个——比例关系是三个数之间的相对权重,只改一个等于把另外两个的份额也悄悄动了。
4.3 连续替代:优先级、策略 2 与逐料消耗
连续替代和按比例替代共用 BOM 里的替代组字段,但行为完全不同:连续替代每次只消耗一个物料,用完再换下一个,优先级决定顺序。原手册的例子是三个物料库存都是 200 PC,BOM 中三个物料挂同一个替代组,配置如下:
| 项目行 | 物料号 | 优先级 | 策略 | 使用可能性 |
|---|---|---|---|---|
| 0020 | R11007345 | 1 | 2 | 空 |
| 0030 | R11007028 | 2 | 2 | 空 |
| 0040 | R11007344 | 3 | 2 | 空 |
策略 2 表示 100% 检查,配合优先级 1/2/3,系统在可用性检查时先看优先级最高的物料,库存够就全部用它;不够或为零,才看下一个。R11007345 库存 200,能覆盖 100 个成品的需求量,那么订单只能下 100;等它的库存被消耗到 0,下一个订单跑可用性检查时自动跳到 R11007028。每个订单只锁定一个物料,不存在一个订单内混用多个替代物料的情况。
这里的前提还是 MRP3 视图的可用性检查 02。原手册特地说明:库存只有 200,但因为不检查,生产订单可以下 300,发料时才报库存不足。也就是说,连续替代是否真的"连续",完全取决于可用性检查在订单下达时有没有被执行。
4.4 批量更换与只消耗不采购:两条特殊路线
批量换料用 CS20。场景是 A 物料已经确定消亡,B 在公司范围内全面替代,一次性把所有 BOM 里的 A 换成 B。执行后绿色表示成功,红色表示失败。这个事务代码适合做一次性大扫除,不适合日常切换——它直接把 BOM 写死成 B,替代关系不复存在,以后想切回 A 只能手工再改。
只消耗不采购则是软替代:物料主数据采购视图里的物料状态设成 02,旧料 A 在 BOM 里不动,但采购申请无法被采购员转成采购订单;同时给 A 设安全库存作为警示线,库存降到安全库存以下,MRP 会跑出采购申请,信息反馈给计划员。计划员看到申请后人工判断:继续用 A 就解除物料状态补采购,彻底不用就改 BOM 或调整物料状态。02 状态控制的是 BOM 而不控制采购,实际需求不同可能还要动 OMS4 的配置,照搬配置前先确认自己的业务要不要采购侧也一起锁。
5. 替代物料配置避坑:五个我踩过的常见问题
这些坑不是配置手册里直接出现的报错,而是运行一段时间后才暴露的行为差异。每一条我都实际踩过或替别人擦过屁股,按现象排查会快很多。
5.1 设置了后继物料,生产订单就是不切换
现象:MM02 的 MRP4 视图维护了非连续标识 1 和后继物料,BOM 也没问题,但 CO01 跑完可用性检查,需求还是全部挂在 A 上,B 的库存纹丝不动。这个现象最迷惑的地方在于系统不报任何错误,生产订单正常创建,检查结果也正常返回,就是没有替代行项目出现。
原因:MRP3 视图里的可用性检查字段是空的。没有这个检查,系统根本不会去核对 A 的库存数量,后继物料字段填了也不会被评估。这属于配置里最典型的静默失败——没有报错、没有警告,就是不出结果。我当时排查了一下午,最后发现是物料主数据的视图维护不完整,MRP3 压根没展开过。
解决:MM02 进入 MRP3 视图,把可用性检查改成 02,保存后重新对生产订单执行物料可用性检查。如果订单已经下达,要先撤销下达再执行,替代逻辑才会重新计算。另外,检查前把 MRP3 视图完整展开一次,确认可用性检查字段确实被保存了,而不是界面显示默认值迷惑你。
5.2 终止数据按钮是灰的,点不进去
现象:CS02 打开 BOM,双击物料数量进入项目行,终止数据区域整个灰掉,中止组字段无法输入。按钮不是报错,就是点不动,像一个完全没必要的限制。
原因:这个项目行里之前维护了替代项目组,就是按比例替代和连续替代用的那个蓝色箭头配置。终止数据和替代项目组在同一个项目行里互斥,系统只保留一条替代路线。如果你在测试按比例替代后没清理,残留的替代项目组信息会一直占着这个位置。
解决:先把替代项目组的信息删除或关闭,再回来维护终止数据。删除前确认这个物料当前的替代需求到底是什么——如果本来要走后继组,替代项目组就是残留配置,删掉重设即可。如果两个功能都要用,那就把同样的物料拆成两个项目行,分别挂不同的替代逻辑,别指望同一行里共存。
5.3 中止组和后继组都设了,切换还是失败
现象:A 组两个物料的中止组都填了 A,B 组两个物料的后继组也填了 A,但测试时怎么都不触发整组切换。
原因:中止组代码和后继组代码不一致,比如中止组写 A、后继组写 B。系统只认代码相同的一组对应关系,代码对不上,替代链根本建立不起来。原手册明确记载了这个坑:之前受某篇文章误导,一直达不到效果,后来把两处代码统一才正常。这种问题比 5.1 更隐蔽,因为它涉及四个物料、两个视图的交叉维护,任何一处写错都影响全局。
解决:CS02 打开 BOM,检查所有中止组和所有后继组的代码,确保完全一致。建议用同一份字母编码,比如 GRP-A,避免大小写或空格的细微差异。改完用附加 → 更多的 → 终止信息查看组关系,确认 A 组和 B 组已经连上,再跑测试单。
5.4 MRP 一直跑出旧物料 A 的需求
现象:A、B、C 三个物料都没有库存,MRP 跑完还是先生成 A 的采购申请,而不是 B 或 C,替代配置感觉白做了。这是平行切换里最常见的误解,很多人以为设置了替代,MRP 就不会再建议采购旧料。
原因:平行切换场景里,系统始终认为 A 是最适用的物料。替代关系只在有库存消耗和可用性检查时发生,MRP 的需求生成逻辑不受替代关系影响,库存全空时优先建议采购的仍然是 A。这是设计逻辑,不是配置错误,硬要改配置去压制它,反而会引入新问题。
解决:如果 A、B 这类旧物料短期内都不打算再用,不要依赖替代设置,直接用 BOM 的更改编号和生效时间控制。给 BOM 加一个更改编号并设定生效时间,到点后旧物料从需求端消失,这比纠结替代配置更干净。我自己的习惯是:替代配置管切换,更改编号管淘汰,两者分工。
5.5 按比例替代后订单数量对不上,发料报短缺
现象:按比例替代配好,CO01 展开数量后,几个替代物料的需求加总小于 BOM 理论需求,发料时报"所需物料数量不足"。订单能正常创建,但一进入发料环节就翻车。
原因:使用可能性之和不是 100%。系统按公式折算时出现 0.667 这类小数,PC 单位的物料四舍五入后,加总数就少了。比如三个物料按 50、25、25 配,总比例是 100% 没问题;但如果是 50、30、20 之外的比例,PC 单位下一取整,数量就对不上。
解决:把使用可能性凑成 100%,比如 50 + 30 + 20。如果供应商份额确实无法整除,考虑改用无小数干扰的计量单位,或者在 BOM 里把用量调整成可整除的组合。别让比例停留在 75%、90% 这种半吊子状态,数学上能算,实务上一定出问题。
6. 替代组与 MRP 的配合边界:先选型再动手
6.1 按场景选型:五种替代方式的判断顺序
| 场景 | 推荐方案 | 关键设置 |
|---|---|---|
| 两个物料,A 耗尽自动切 B | 后继物料 | MRP4 非连续标识 1 + MRP3 可用性检查 02 |
| 一组物料整体被另一组替代 | 物料后继组 | MRP4 标识 1/3 + BOM 中止组/后继组代码一致 |
| 多供应商同质物料按份额消耗 | 按比例替代 | 策略 1 + 使用可能性合计 100% |
| 三个以上物料逐个耗尽切换 | 连续替代 | 策略 2 + 优先级 1/2/3 |
| 旧料不再采购但 BOM 保留 | 物料状态 02 + 安全库存 | MM02 采购视图物料状态 + OMS4 核实 |
判断顺序很简单:先问是"耗尽切换"还是"按比例分配",再数物料个数,最后看有没有整组替代的诉求。两步之内就能排除掉大半错误选项。比如供应商多、要按份额走,就别去研究后继物料;比如只有两个料、用量相等,就别上替代组那套复杂配置。
6.2 长期停用场景:用更改编号做后悔药
BOM 的更改编号配合生效时间,可以在指定日期让某个组件自动失效,生效后 MRP 不会再为失效组件生成需求。这个机制比替代配置更适合长期停用:替代配置解决的是库存切换,更改编号解决的是需求终止。两者结合是最稳的组合拳——切换期间用替代配置过渡,确认旧料不再回用后,用更改编号收尾,从根上断掉 MRP 的旧料需求。
6.3 我的复核习惯:小库存测试单
每次配完替代物料,哪怕是只改一个字段,我也强制自己走一遍小库存测试:MIGO 只给旧料补少量库存,CO01 下一个小订单,看可用性检查出的替代结果是否和预期一致,再看 CS02 的终止信息确认组关系。测试单不达标就继续调,达标了才交接给计划员。这套动作大概多花十分钟,换来的却是 MRP 不跑旧料、发料不缺件、计划员半夜不打电话。希望帮到你。
本文还有配套的精品资源,点击获取