
简介《SAP-PP-替代物料操作完全手册》面向SAP生产计划与物料管理从业者、实施顾问及希望厘清替代物料配置逻辑的进阶学习者聚焦生产订单中物料耗尽后的自动切换、按比例消耗以及后继物料、后继组等常见业务难题。文档围绕平行切换与非平行切换展开梳理批量更换组件、只消耗不采购、双物料后继替代、物料后继组和按比例拆分等场景并涉及物料主数据MRP4非连续标识、后继物料字段、BOM终止组与后继组、可用性检查及策略和使用比例等配置要点同时提示MRP仍按原物料计算需求等易踩坑点便于读者建立从业务判断到系统配置的完整认识。资源包共1个docx文件约871KB内容集中、便于检索和打印查阅。目前已有2553人学习适合作为SAP PP物料替代专题的案头参考与配置核对清单。1. 替代不是换料先把平行切换和非平行切换的账算清某工厂的 BOM 里挂了三个料号主料早就停产MRP 却还在死盯着主料跑需求计划员每周手工改单改到怀疑人生。问题不在 MRP 不灵而在于替代关系根本没有在系统里“注册”过——SAP PP 里的物料替代本质上不是换一个料号那么简单而是要在主数据、BOM、订单三层同时立规矩系统才肯在可用性检查那一刻自动切过去。这份操作手册覆盖的就是这几条路径CS20 批量换料、只消耗不采购的状态位控制、两料后继替代、后继组整组切换、按比例拆分与连续替代以及最容易翻车的几个配置点。适合已经能独立维护 BOM 和工艺路线的计划、生产、主数据岗位也适合刚接手 PP 模块、被“为什么不下订单”和“为什么还是跑老料”折磨过的顾问。2. CS20 批量换料与“只消耗不采购”状态位 02、OMS4 与安全库存的三道闸替代关系里最容易出事的是“系统认为旧料还活着”。A 换 B 换 C 的平行切换链条只要 A 的主数据没关、BOM 没改干净MRP 一定先把 A 的需求跑出来哪怕 A、B、C 三方库存全是零。所以动手之前要先想清楚走哪条路是彻底把旧料从所有 BOM 里换掉还是让旧料“只消耗不采购”把人工判断的窗口留出来。这两条路的配置位置完全不同混着用就会出玄学问题。2.1 CS20一次替换所有相关 BOM 的组件CS20 是批量替换组件的事务码适合“a 物料在公司范围内全面停产b 物料顶上去”这种一刀切的场景。它跟逐张 BOM 进去 CS02 改的区别在于CS20 会按筛选条件把所有命中的 BOM 拉成一张清单逐条执行执行结果用颜色标出来——绿色成功红色失败失败原因通常是 BOM 被锁、有效期冲突、或者该 BOM 里根本没有这个组件。操作顺序如下步骤事务码输入内容说明1CS20旧物料号、新物料号、工厂、BOM 用途BOM 用途不填会漏掉部分 BOM2CS20更改编号可选填了会生成新版本旧版本留档3CS20有效期起始日决定替代从哪一天生效4CS20勾选“测试运行”先看命中清单不写库5CS20去掉测试勾选点执行逐条看红绿灯几个参数要盯住。BOM 用途必须填很多现场 BOM 同时存在生产用途和工程用途只填物料不填用途命中的范围会比你想象的小。更改编号建议填尤其是产品还在量产、BOM 需要可追溯的时候生成新版本后老版本还能查出了问题有后悔药。有效期起始日不要留在默认值上替代生效日和生产订单的开工日对不上会出现“BOM 已经换了、订单还带着老组件”的错位。执行完不要急着走。红色条目逐条点进去看最常见的失败原因是 BOM 里该组件的“生效日期”区间跟你要替换的区间没有交集或者该组件挂在替代组里SAP 不让直接替换。遇到后者要先解除替代组替换完再重新挂。这一步不做后面下订单时会看到组件清单里新旧两个料号并排出现数量还各算一份。CS20 的边界也要说清楚它只改 BOM不动工艺路线不动主数据不动已有生产订单。已经下达的订单里带着老组件需要用 CO02 单独改或者走重读主数据CO02 里的“重新读取主数据”功能。指望 CS20 一把梭把所有在制订单也刷掉是不现实的。2.2 物料状态 02 与 OMS4冻结了 BOM为什么采购还动“只消耗不采购”的核心诉求是BOM 里继续留着 A生产订单继续能带出 A 的需求但采购端不许再买 A。原文里的做法是把 A 的物料状态设成 02然后发现 02 控制的是 BOM、没控制采购所以还要去 OMS4 看配置。这个坑非常典型。物料状态不是一个固定含义的字段它的行为完全由 OMS4 里该状态码对应的业务事务清单决定。同一个“02”在 A 工厂可能禁掉了 BOM 维护在 B 工厂可能连采购申请都禁了。所以正确的顺序是反过来的先在 OMS4 里查 02 这个状态码对哪些业务事务设了“禁止”再决定要不要用它。业务事务期望设置目的BOM 维护允许或警告BOM 不动仍能带出 A 的需求生产订单创建允许在制订单继续消耗 A 的库存采购申请允许让 MRP 跑出信号形成人工确认点采购订单禁止采购员无法把 PR 转成 PO外部采购/收货按需防止绕过订单直接收料如果 02 的配置跟你想要的不一致别硬套直接在 OMS4 里复制一个状态码改成你要的组合再回 MM02 挂到 A 的物料主数据上。现场很多“状态设了没反应”根子就在这里。另外要注意工厂级和跨工厂级的区别物料状态在基本数据视图和工厂级视图里各有一份改错层级效果只在一个工厂生效其他工厂照买不误。2.3 安全库存当预警线把切换判断交回给人状态位只能拦住采购动作拦不住时间。真正需要的是“提前多久知道该切了”这就是安全库存的用处。把 A 的安全库存设到一个能覆盖 B 物料采购提前期的水位MRP 净需求计算时会把安全库存算进去库存一旦掉到线下系统就会生成补货建议也就是采购申请。这个采购申请因为状态位的缘故转不成采购订单它就变成了一个挂在系统里的信号灯。计划员看到这条 PR才有人工判断的入口继续用 A、补采购还是彻底切到 B、把 A 的余量单独处理。这个设计比在 Excel 里盯库存靠谱得多因为它走的是 MRP 的标准逻辑不需要额外开发。安全库存的水位怎么定用 B 的采购提前期倒推。B 从下单到入库要 30 天A 的日均消耗是 20 件那安全库存至少 600 件起步再留一点缓冲。设得太低信号出来的时候 A 已经见底来不及切设得太高PR 天天弹计划员会直接无视它。判断做完之后的落地动作有三个方向改组件清单CS02、改物料状态MM02、或者改 BOM 加重新跑 MRPMD02。这三条路对应三种不同的业务结论别在系统里做一半就停半配置状态比不配置更难排查。3. 两料后继替代MM02 MRP4 非连续标识 1 的完整链路两料后继替代是这套手册里配置点最集中的一条路径主数据三个字段、BOM 一张、工艺路线一条、库存一笔、订单一张少任何一环都不出效果。它解决的是最典型的场景——A 库存 45订单要 100系统自动补 55 的 B不需要计划员手工拆行。3.1 主数据三件套非连续标识、后继物料、可用性检查 02先说清楚这三个字段各自管什么因为现场最常见的错误就是把它们当成一个开关。字段位置取值作用非连续标识MM02 → MRP4 视图1标记该物料是“单一平行终端”库存耗尽后触发后继后继物料MM02 → MRP4 视图B 的料号指定切给谁可用性检查MM02 → MRP3 视图02订单下达时做库存可用性检查不检查就不替代非连续标识填 1意思是这个物料是平行替代链条的起点库存归零后由后继物料接手。后继物料填 B 的料号方向是单向的A 指向 BB 不需要指回 A。可用性检查填 02 是最容易被漏掉的一步漏了之后的现象是订单照下、组件照带 A、数量照算 100系统完全不看库存。原文里那句“如果不检查不会替代”说的就是这个。创建测试物料时按顺序来先建 A比如 66000036和 B66000037两个都要维护基本数据、采购、MRP、工作计划几个视图。B 作为后继物料它自己的 MRP4 里非连续标识要留空否则会形成链条而这条路径只支持两料三料以上会乱。3.2 CS01 与工作计划视图不下这两步订单根本发不出去BOM 用 CS01 建A 和 B 都挂在成品下面用量按实际填。这里有个前提这条路径只在 A、B 用量相等时成立。如果 A 用 2 个、B 用 3 个光靠非连续标识替代出来的数量是对不上的得回 BOM 里给替代组配使用可能性那就属于按比例拆分的范畴了配置复杂度反而更高不如直接走比例方案。工作计划视图是第二个高频漏配点。B 物料如果没有维护工作计划视图生产管理员、工艺路线、准备时间这些下生产订单时会直接报错而且报错信息不一定指向工作计划视图容易查偏。测试前把 A、B 的工作计划视图都维护一遍五分钟的事能省两小时排查。库存用 MIGO 做收货A 收 100、B 收 45正好对应“A 够、B 不够”的场景。收货时移动类型用 101工厂和库存地点要对不然可用性检查读不到。3.3 MIGO 到 CO01 的验证链路配置完了要验证验证顺序不能乱1. MIGO 收货 A100 B45 2. CS03 查看成品 BOM确认 A、B 都在组件清单里 3. CA03 确认工艺路线存在且已释放 4. CO01 创建生产订单成品数量 20组件需求 5 PC/件 5. CO01 组件概览看 A、B 的需求数量 6. 点“可用性检查”看系统是否自动补足第 4 步里成品 20 个、单件用 5 个组件总需求 100。A 库存 100理论上全用 A。把 A 的库存改成 45 再试一次系统应该拆成 A 45 B 55。这个拆法是累加扣减的不是比例分配——这是两料后继替代和其他替代方式最本质的区别其他方式都是“不足才替换”只有这一条是“消耗完再消耗下一个”。如果第 6 步没反应按这个顺序查MRP3 的可用性检查是不是 02、MRP4 的非连续标识是不是 1、后继物料有没有填、BOM 里 B 是不是真的在组件清单里、B 的工作计划视图是否完整。这五项里必有一项没配。还有一个容易忽略的点这套设置只覆盖订单创建时的替代。订单已经创建、组件已经确定后面再改库存订单不会自己重算得回 CO02 重新做一次可用性检查。计划员抱怨“库存明明有 B订单还卡在 A”多半就是订单创建在前、收货在后。4. 后继组替代中止组与后继组为什么必须同名两料替代解决的是“一对一”现实里更多是“一组对一组”主板套件下面挂四个组件31 和 32 是一组34 和 35 是另一组B 组整体接替 A 组触发条件是 31 的库存归零。这就是后继组替代配置比两料复杂一档坑也更隐蔽。4.1 非连续标识 1 与 3谁是触发开关谁只是成员组替代里非连续标识不再是统一的 1。触发物料填 1单一平行终端组内其他成员填 3相关平行不连续部分。这个区别决定了谁有资格当开关。物料非连续标识后继物料角色66000031166000034触发开关库存归零则整组切换660000323留空组成员跟随切换66000034空空后继组接收方66000035空空后继组接收方32 的后继物料必须留空。填了会怎样系统会认为 32 也是一个独立的替代起点于是出现两套触发逻辑打架测试时表现为“有时候切、有时候不切”非常难查。这条是原文里明确强调的我见过有人图省事四个物料全填 1结果整组切换彻底失效。4.2 CS02 的中止组/后继组配对与“终止信息”复核BOM 侧的配置在 CS02 里分两半做A 组配中止组B 组配后继组两边的组代码必须完全一致。A 组的做法CS02 进入抬头物料 66000033双击组件 31 的数量进入组件明细点“终止数据”在“中止组”里输入 A。32 同样操作。这里有个前置条件——如果该组件行上已经维护了替代项目组终止数据字段会灰掉点不进去必须先把替代项目组删掉。这个灰显提示很不显眼很多人卡在这一步以为是权限问题。B 组的做法同样进组件明细点“物料后继数据”在“后继组”里输入 A。34 和 35 都配。两边代码不一致比如 A 组写 A、B 组写 B系统不会报错但替代关系链不起来测试时就是死活不切。原文里提到被某篇资料误导过问题就出在这。配完保存用 CS02 再进一次 BOM走菜单“附加 → 更多的 → 终止信息”能看到系统识别出的组关系。这个查看入口是免费的验证手段配完必看比直接下订单试错快得多。4.3 整组切换的验证31 库存为 032 有 100 也会被切验证场景按原文给的库存来31 库存 0、32 库存 100、34 库存 200、35 库存 300下 100 个成品的订单每个组件用 2 个总需求各 200。预期结果是 31 和 32 整组切到 34 和 35即使 32 自己还有 100 的库存。这是组替代和单料替代最关键的行为差异触发条件只看 3131 归零则整组失效32 的库存不参与判断。计划员如果按“32 还有货为什么不用”的思路去质疑说明他没理解触发物料的角色设定。测试时如果 32 被单独留下来继续消耗回查两件事32 的非连续标识是不是 3、32 的后继物料是不是被误填了。这两项任何一项不对组逻辑都会退化成单料逻辑。4.4 按比例拆分策略 1 与使用可能性组配置里还有一个字段决定替代行为就是组件明细里的“策略”。它有两个值含义完全不同。策略含义优先级是否生效典型场景1按使用可能性手工维护不生效多供应商同料号按比例分摊2100% 检查生效串行消耗用完一个再用下一个策略 1 的场景是“三个料号功能相同只是供应商或生产批次不同”BOM 里三个都挂进同一个替代组 A使用可能性按 50/30/20 填。下 100 个成品、单件用 2 个总需求 200系统直接拆成 100/60/40。这时候优先级填了也没用策略 1 根本不看它。使用可能性的总和建议凑成 100%。不凑 100% 系统也不会报错它会按比例归一化计算公式是某物料需求量 总需求 × 该物料使用可能性 ÷ 组内所有物料使用可能性之和。原文里举的 50% 和 25% 的例子就是这个逻辑算出来 0.667 和 0.334。问题在于归一化之后可能出现小数计量单位是 PC 的时候会向上取整或截断导致总需求对不上物料短缺。所以别偷懒凑成 100%。创建订单时如果三个物料的使用可能性都是 0系统会弹警告让你输入回车可以跳过跳过之后组件需求量显示为 0做可用性检查时才按库存找料。这个行为容易让人误以为配置没生效其实是正常的延迟计算。4.5 连续替代策略 2 加优先级串行扣减策略 2 就是连续替代行为最接近直觉优先级 1 的物料先用用完跳优先级 2再用完跳优先级 3。配置上三个物料都进同一个替代组优先级分别填 1、2、3策略全填 2使用可能性留空。它的硬约束是可用性检查必须开MRP3 填 02。不开的话订单可以下超过库存的数量系统不拦等到发料才报库存不足那时候订单一堆、交期已定返工成本很高。连续替代的一个行为特征要提前跟计划员说清楚每张订单只能消耗当前优先级物料的库存范围内的数量。优先级 1 的库存只够做 100 个成品那这张订单最多下 100想出第二个 100 得等优先级 1 的库存真正归零、系统跳到优先级 2 之后。超量下单会直接报错订单无法下达。这跟按比例拆分的“一次拆完”是两种完全不同的使用体验选型时按业务节奏定不要按配置难易定。5. 避坑与排查六条翻车记录下面六条都是配置现场反复出现的按“现象 → 原因 → 解决”写遇到对应症状直接对号入座。第一条可用性检查开了订单还是不替代。现象是订单组件稳稳带着 A数量按全额算点可用性检查毫无反应。原因是 MRP4 的非连续标识没填或填错系统不认为这个物料有后继关系自然不会去找 B。解决是把 A 的 MRP4 非连续标识改成 1、后继物料填 B保存后重建订单再测。改完老订单不会自动更新必须新建。第二条整组切换失效32 被单独留下继续消耗。现象是 31 归零后34 和 35 切过来了32 还挂在组件清单里。原因是 32 的非连续标识填成了 1 或者它的后继物料被误填了值系统把它当成了独立触发点。解决是把 32 改成 3、后继物料清空重新保存 BOM 后再测。这个错误在复制物料时特别容易发生从一个已经配好的物料复制过来字段全带过来了。第三条中止组字段灰显点不进去。现象是 CS02 组件明细里“终止数据”按钮是灰的。原因是该组件行上已经挂了一个替代项目组两个功能互斥。解决是先把替代项目组删掉、保存再回来配中止组。删之前确认该 BOM 没有在用替代组做比例拆分否则会把已有逻辑一起拆掉。第四条中止组和后继组都配了就是不联动。现象是两边字段都填了CS02 里看“终止信息”却什么都没有。原因是两边组代码不一致A 组写 A、B 组写 B或者一边大写一边小写。解决是把两边改成完全相同的代码包括大小写。这个错误没有任何报错提示只能靠人工核对配完必看“终止信息”就是为了抓它。第五条批量换料之后订单里新旧料号并排出现。现象是 CS20 执行成功、BOM 也换了下订单时组件清单里 a 和 b 各一行。原因是被替换的组件原来挂在替代组里CS20 跳过了替代组内的组件或者替换后没解除原有的替代关系。解决是回 CS02 检查该组件的替代组字段清空后重新维护已经在制的订单用 CO02 逐张改或者走重读主数据。第六条比例拆分算出小数发料时短缺。现象是按 50/30/20 拆完需求量出现小数发料时差一两个。原因是使用可能性之和不等于 100%系统做了归一化再按计量单位取整。解决是把组内使用可能性凑成 100%或者改用整数比例比如 5:3:2把小数问题挡在配置阶段。计量单位是 PC、EA 这类离散单位时尤其要注意KG、L 这类连续单位影响小一些。6. 验证与收口用一套三视图自检替代关系配置做完别急着交付我一般的习惯是走一遍三视图自检十分钟能挡掉后面两周的返工。第一视图看主数据。MM03 进 A 和 BMRP3 的可用性检查、MRP4 的非连续标识和后继物料、工作计划视图是否完整四个点逐一对。漏工作计划视图这条新手踩得最多而且报错信息不指向它。第二视图看 BOM。CS03 确认组件清单里有几个料号、挂在哪个替代组、策略是 1 还是 2、使用可能性加起来是不是 100%、中止组和后继组代码是否一致。再用“附加 → 更多的 → 终止信息”复核一遍系统识别出的组关系这一步比肉眼核对字段可靠。第三视图看订单。CO01 建一张小批量测试订单故意把主料库存设成不够走一次可用性检查看系统拆出来的数量跟手工算的对不对。三种替代方式拆出来的结果形态不一样两料后继是累加扣减比例拆分是一次按百分比分完连续替代是按优先级串行、每次只吃一个料。数量对不上说明配置方式选错了不是参数填错了。可以用下面这张表做交付前的检查清单。检查项事务码通过标准主数据完整性MM03四个字段齐全工作计划视图已维护BOM 组件与替代组CS03组件齐全组代码一致组关系识别CS02 附加菜单终止信息能列出完整组关系库存与订单验证MIGO CO01拆出的数量与手工计算一致缺料分析CO24 / CO09无异常缺料替代未触发告警从那以后我每次配完替代关系不管多简单的两料场景都强制走一遍这三视图尤其是“终止信息”那一步。有次赶项目跳过了结果中止组代码大小写不一致测试环境一切正常生产环境整组不切查了一整天才定位到。配置类的问题系统的沉默比报错更贵。希望帮到你。本文还有配套的精品资源点击获取