2026/10/2 3:03:50

SAP QM质量管理核心流程:从主数据到检验批的完整事务码指南

SAP QM质量管理核心流程:从主数据到检验批的完整事务码指南 做了十多年SAPQM这块我接触的项目不算少但像标题里这种“QS41→QS51→CT04→CL02→QS31→QS21→CL24N→QP01→MM02→QA01→CO01/MIGO→QA32(QE02,QA11)”一长串事务码排出来的流程还是经常能吓到新人。别慌这一串看起来吓人拆开看就是三件事先建质检基础数据再把质检规则挂到物料上最后跑检验批做判定。这篇文章就按这条线把这个质量管理流程完整走一遍顺便把容易踩的坑也交代清楚。这个流程适合谁看刚接手SAP QM模块的顾问、企业内部负责质检主数据的业务骨干、以及准备做QM配置测试的关键用户都能从里面找到直接能用的东西。我尽量不写那种“配置手册式”的流水账每个节点都会讲清楚“为什么要这么做”因为只有理解了背后的逻辑你才敢在项目里做取舍。1. 先看懂这条事务码链路到底在干什么1.1 从“主数据”到“执行”的完整价值链这条链路其实可以切分成两段。第一段从QS41开始到QP01结束全部围绕“质检主数据”建设第二段从MM02开始到QA11结束是“业务执行”阶段。主数据阶段做的事情我习惯用“建目录、建特性、建计划”来概括。QS41建的是检验目录和代码组例如“破坏性检验”“外观缺陷”这些大分类CT04建的是具体质检特性比如“长度”“硬度”“目视外观检查”CL02和CL24N是把这些特性归入设备类别方便后续整体调用QS51是建检验计划主记录QS31把特性挂进计划QS21决定这个计划在哪些场景生效QP01则是给计划配置取样方案。执行阶段则围绕“检验批”展开。MM02在物料主数据里激活质检标识QA01、CO01、MIGO负责产生检验批QA32是质检员操作的主入口QE02录入检验结果QA11做最终使用决策。理解了这条主线后面每个事务码才不会孤立。1.2 先分清配置型事务码和业务型事务码这一长串事务码里面有相当一部分是“配置型”的比如QS41、CT04、CL02、QS21、QP01它们做的事情不是处理日常单据而是维护基础规则。另外一部分是“业务型”的比如QA01、QA32、QE02、QA11它们才是日常质检工作台。这个区别很重要。很多印度外包顾问在看流程时把QS51和QA32混在一起结果讨论半天不知道是上线前配置还是上线后使用。实际项目里“配置型”由顾问在实施阶段完成“业务型”由最终用户天天操作权限角色也是完全分开的。我在项目中看到的一个常见问题就是客户把QM的权限全部放开业务人员也能维护特性公差、取样计划结果质检标准被改得千奇百怪。正确做法是CT04、QS51、QP01这些点只给QM工程师QA32、QE02、QA11给一线质检员。1.3 用一张订单的视角串起整个流程如果觉得事务码太抽象可以用一个场景来串工厂采购了一批轴承物料号是M-100在MM02里已经配置了“来料检验”的检验类型。采购收货时MIGO过账系统自动生成一个检验批编号是1质检员打开QA32看到这个检验批点进去用QE02录数据内径实测值、外径实测值、表面粗糙度目检结果最后点QA11做使用决策如果全部合格就放行到非限制库存如果不合格就走拒收或让步接收。生产端的逻辑类似CO01创建生产订单并下达后系统按检验计划为半成品/成品生成检验批过程检验或完工检验都在QA32里处理。销售退货、库存转移也可以触发检验批机制完全一致只是“检验批来源”不同。所以只要把“检验批”这个核心概念抓住整个QM流程就抓住了一半。2. 质检主数据准备从QS41到CL24N的关键配置2.1 QS41 建立检验目录Catalog与代码组QS41这个事务码名字叫“QM catalog”。很多人初次接触会以为它只是维护一个字典表实际上它管理的是一组“目录-代码组-代码”三层结构。举个例子。目录可以叫“破坏性检验”下面有代码组“开箱检查结论”组里包含代码“合格”“不合格”“仅外观不合格”。将来在QE02录入定性检验结果时系统显示的就是这些代码用户靠点选完成录入而不是自由写文本。这保证整个集团的数据是统一的不会出现“OK”和“Pass”混用的情况。实际项目里目录一般会划分为几个类别缺陷类型目录记录缺陷属于“外观”“功能”“尺寸”还是“包装”缺陷定位目录记录缺陷部位比如“内圈”“外圈”“密封面”决策目录记录使用决策的结论和原因比如“放行”“拒收”“让步接收”定性结果目录记录“合格/不合格”之类的检验结论。为什么要分这么细因为QM的统计分析报表需要按维度汇总。如果缺陷类型、缺陷部位全是自由文本后续分析“本月轴承内圈缺陷占比”根本没法做。这个事务码配得好不好直接决定SPC和质检报表能不能用起来。还要提醒一点QS41建完后要把目录分配给“目录类型”Catalog type比如“1”给结果、“2”给缺陷、“3”给决策用途不同工厂可以拥有不同目录。具体分配在后台Catalogue Type里做SAP固化了几种类型尽量不要没事就去改类型定义改不好会影响所有使用该目录的主数据。2.2 CT04 定义检验特性定量还是定性关键在于公差与取样CT04是质量管理里最容易被低估的事务码。你在这里定义的“特性”不只是名字叫“长度”这么简单系统靠它决定三件事结果怎么录、怎么判定、取多少样。一个特性要先区分是“定量”量值还是“定性”符值。定量特性例子是“内径20±0.1 mm”录入的是数值系统会自动对比上下公差给出判定结论定性特性例子是“外观检查”录入的是代码值比如“合格/不合格”判定逻辑靠代码组决定。在CT04里有几个关键字段值得注意数据类型和计量单位定量特性的单位混乱是常见事故源比如长度单位设成“M”但检验计划里期望“MM”结果判定就会差1000倍公差范围上下限可以固定值也可以引用物料主数据或检验计划里的动态值取样数量指每批按多少个样本取值。这里只是默认值真正生效时还要看QP01取样方案特性状态一般维护完就置为“已释放”未释放的特性在检验计划里可能无法使用。我个人的习惯是在CT04里把“属性”协同标签页也看一下里面有些选项影响结果是否允许为空、是否必须全部记录。物性一旦发布后直接暴露给N个工厂使用修改公差范围要非常谨慎因为历史检验批的可比性会被破坏。2.3 CL02 CL24N 用类别把特性组织起来在QM配置里CL02是维护对象类别的事务码常见的类类型有“物料类”“批次类”而质量管理里我们通常会用类类型“03”来为检验目的分组。为什么需要这个分组想象一下工厂有几十种电机轴每种轴都有“直径”“圆度”“表面硬度”这些特性。如果每个检验计划都重新把特性逐个挂一遍工作量巨大。正确的做法是建一个“电机轴尺寸检验”类别然后通过CL24N把CT04里的三个特性分配给这个类别。之后在任何检验计划里只要调用这个类别三个特性自动带出。这里强调一下CL24N是“分配特性到类别”的界面而不是建类别的。顺序一定不能乱先CT04建特性、再CL02建类、最后CL24N做关联。我见过有顾问在CL02里直接尝试挂特性找不到入口其实就是漏掉了CL24N这一步。另外同一个特性可以属于多个类别。比如“硬度”既属于“钢件机械性能检验类”也属于“热处理批次复检类”这没问题。但要注意当某个特性在类别里被后续修改时已经生成的检验计划不会自动更新需要重新分配或手动刷新这个坑后面讲到检验计划时再细化。2.4 QS51 检验计划主记录工厂物料计划用途的骨架QS51是检验计划主记录的创建入口。检验计划在SAP里本质上是工艺路线的一种特殊形式所以它维护的是“任务清单类型/组/计数器/工厂/用途/状态”这些骨架信息。在QS51里建一个新的检验计划至少要确定任务清单用途Task List Usage这个字段决定计划用在哪里比如生产检验、来料检验、采购检验组和计数器类似工艺路线里的“组”一个工厂内唯一物料号计划与哪个物料绑定状态新建计划一般是“4”释放状态技术上是“1创建、2锁定、3无效、4释放”这套编号逻辑但具体看系统设置有效性日期计划从哪天到哪天生效防止将来旧计划失效后还在被检验批引用。检验计划保存后如果要针对一个物料多个检验方式比如生产检验和来料检验就需要建不同“用途”的多计划。这是SAP的一种标准做法而不是在同一个计划里塞多种特性集合。从使用角度讲检验计划还有一个“工序”层。你可以在计划里 создавать多个检验工序每个工序下再挂检验特性。典型场景是先做“外观/包装工序检验”再做“尺寸/性能工序检验”这在后续QE02里可以按工序分别录入结果。2.5 QS21 与 QS31用途过滤与特性分配QS21是维护“检验计划用途”的。系统中用途会决定这个计划在哪个业务事件里被系统自动找出来。比如来料检验和最终检验如果共用一套检验项目但场景不同就需要分别维护用途。最常见的是01用于“来料检验/采购收货”03用于“生产订单检验”。实际项目中企业和顾问要约定一套统一的用途编码否则物料主数据里点“自动生成检验批”时会因为找不到计划而报错。QS31则是给检验计划分配检验特性的事务码。它的入口是先选中QS51里的计划然后进入某一工序把群体特性、CT04特性、CL02类别挂进去。我提过的“调用类别”就是通过QS31里的“按类别分配特性”操作来实现的这时CL24N里建好的分类价值就体现出来了。分配特性时每个特性还能指定“取样方案”和“是否必须录入”这是QM判断检验批能不能做使用决策的重要依据。如果某个特性漏掉结果也能保存那多半是在这里把“必需特性”的标识关掉了。这一点在项目里经常被忽略后面做QA11时会出现“没有录完结果也能做判定”的尴尬场景。2.6 主数据配置的几个实战细节主数据建完我一般会先测试一个小闭环而不是急着接业务单据。测试方法很简单找一个测试物料给它挂一份检验计划然后用QA01手动创建一个检验批看检验项目是否按计划带出来。这个测试能一次性暴露很多问题。比如检验计划状态不是释放、物料工厂与计划工厂不一致、用途不匹配、特性状态不正确、取样方案没找到。几条常见排查命令可以记一下查检验计划CS03/CA03可以看工艺路线但QM计划要用QS53查看或者直接在QS51的列表里看状态查特性是否释放CT03查类别分配CL03查取样方案QP03。细节决定成败主数据阶段多花一小时测试后面执行阶段能省三天。尤其是跨工厂复制主数据时很多人从别的工厂COPY计划过来结果“工厂”字段还是老工厂检验批死活找不到计划这种问题我见过太多。3. 把质检“挂”到物料上MM02 与检验批触发机制3.1 MM02 质量管理视图到底要勾什么检验计划再完整物料主数据不激活质检系统照样不生成检验批这是新手最容易困惑的地方。MM02里进入质量管理视图QM视图重点看这几个字段检验类型Inspection Type常见的有01采购收货检验、03生产订单检验、06库存转移检验也可以自定义其他类型检验批自动生成InspLot生成一般勾上告诉系统“这个类型产生检验批”过账到检验库存Post to Inspection Stock如果勾上收货时库存先进入“质检库存”判定合格后才转非限制库存不勾的话货物直接在非限制库存但QA32里仍然要处理检验批参考检验计划Insp. with Task List决定这个检验类型是否参照QS51里的计划如果不参照检验批可能没有检验项目只能手动补录;。动态检验规则Dynamic Rule激活以后系统根据最近验收记录调整抽样数量例如连续合格降低样本出现不合格提高样本关键值QM Control Key和批号确定有些企业还需要配合批次管理这时还要注意MARC下的“批次管理”必须激活否则无批次状态下的检验批管理会有很多限制。我建议在项目里把“是否过账到检验库存”这个决策想清楚。很多企业为了满足财务账和实物同步不愿意启用质检库存只是做“收货后检验”这时质检员其实是在非限制库存里先挪用物料检验。如果后续判定不合格要做库存冻结或退货流程会绕一些。但从SAP最佳实践角度看关键来料、关键工序半成品建议启用质检库存否则质量追溯和库存隔离的效果会打折扣。3.2 检验批的来源手动 QA01 与自动 CO01/MIGO检验批从哪里来三类来源覆盖绝大多数业务手动创建QA01。适合临时送检、无主数据检验计划的特殊检验、客户退货复检等场景。QA01里要选择检验批来源比如客户退货、资产/设备检验等、输入物料、工厂、数量系统会根据物料主数据和检验计划自动带出检验特性自动触发-采购收货MIGO。当物料主数据激活了“采购收货检验”类型且采购订单收货时过账瞬间系统会生成检验批。这里还要注意“收货时自动转换批次”或“不自动转换”的配置自动触发-生产订单CO01/CO02/CO03。生产订单在“下达”时刻或者订单(部分)收货时QM后台会依据物料主数据和检验计划自动创建检验批。你可以理解为生产订单释放即质检点。有一点常被忽略检验批数量默认等于移动数量但也可以在QA02里手工调整。比如来料1000件但质检抽检计划要求首检500件这时可以先按1000的检验批做结果录入也可以在QA02分批。这个就看项目上对“批次/部分决策”的需求了。3.3 检验类型与检验批状态QA01创建出来的检验批会有一个“状态”SAP里检验批状态组合虽然复杂但对日常用户来说最常见的几个状态是CRTD已创建检验批还没开始处理SETC已设置完成系统根据计划分配了检验项目RESU已有部分/全部结果UD已做出使用决策。在QA32的列表界面你通常会按“检验批描述/状态/工厂/物料”过滤也可以按“待处理”“结果部分未录”“有决策未处理”等状态筛选。这里建议质检员不要用系统默认的“全屏所有检验批”因为数据量大时SAP列表加载会非常卡最小化筛选条件才是正道。检验批状态还跟“批次”是否激活有关系。如果物料是批次管理且收货自动生成检验批那么检验批号与“特殊库存/批次”是绑定的。QC放行和拒收的下一步会触发批次状态的更新比如自动变为“已质检”或库存转移。这正好对应很多做序列号/批次追溯项目的同事熟悉的部分只有检验批完成UD批次状态才能变为合格可用。4. 检验执行与判定QA32、QE02、QA11 的实战节奏4.1 QA32 检验批工作台的筛选与操作QA32表面上看是一个事务码实际是整个质量检验员的工作台。它支持按工厂、物料、检验类型、检验批来源、检验批编号区间等进行筛选。进入后列表显示一批需要处理的检验批双击某一行能进入明细。在这里最高频的三种操作分配结果记录集Assign Record Set实质是告诉系统“我按哪些工序/特性录入结果”一般用“参考检验计划”来自动生成结果录入Results跳转到QE02或新界面的结果录入使用决策Usage Decision跳转到QA11对检验批做最终定夺历史记录History查看检验批的详细信息、状态变化。在QA32里我一般建议大家开启“Item”视图并增加“检验批来源”“物料描述”“检验数量”这些列这样一眼能看出哪个是来料检验哪个是生产完工检验避免搞错处理优先级。另外QA32列表里可以直接对多个检验批执行“批处理”比如同时对10个检验批做使用决策这种“批量决策”在系统高负载时段会很实用。4.2 QE02 结果录入定量结果的自动判定逻辑QE02是录入检验结果的主入口也是整个QM流程里业务人员每天花费时间最多的地方。在QE02里系统展示检验计划分配的检验特性。对于定量特性录入实测值后系统对比CT04里定义的公差范围自动给出判定“合格/不合格”对于定性特性从目录值里选择结论比如“合格/不合格/待检”必要时输入缺陷代码、缺陷数量。这里有几个要特别注意的判定码Code不是简单的结果它是决定结论的依据。比如同一个耐受性测试可能把“轻微开裂”定义为“让步接受”把“完全断裂”定义为“不合格”这都靠代码组和目录的配置定量特性的“均值/极差”模式某些特性要做多次测量子样本QE02会自动计算平均数和标准差再对比公差进行判定。采样数量和测量频次往往来自QP01取样方案结果录入后可以重新录但覆盖时要谨慎。最好关闭“自由修改已判定结果”的权限否则追溯时没人能解释为什么最终放行的检验批曾经被判拒收。工作中为了节省时间很多人喜欢在QE02里一批检验批批量录入这个没问题但要注意“检验批分组”和“特性分组的搭配”。更合理的方式是按照检验工序分组一组一组录入这样决策时逻辑最清晰。4.3 QA11 使用决策从合格放行到让步接收检验结果录完不代表质检结束真正做到“盖章”的是QA11的使用决策。在QA11里质检员选择决策码Usage Decision Code常见的配置有合格/放行Accept/Release库存从质检库存转到非限制库存不合格/拒收Reject/Block库存冻结等待退货、返工或报废让步接收Use as-is / Deviation库存可以放行但通常伴随原因代码和审批记录部分决策Partial Decision同一个检验批部分数量合格、部分数量不合格。选好决策码后可以录入“原因代码”如供应商偏差、设计变更豁免也可以指定“后续动作”比如“自动触发退货通知”“自动产生质量通知单”。这些联动配置在后台Decision和后续Process里做项目上线后业务细化时经常会调整这里。QA11有一个很重要的特性检验批一旦做出最终UD就不能随意改了。如果发现决策做错了通常需要“Undo Usage Decision”的先决条件而这个动作通常有权限限制并会留下审计日志。所以我在培训时总强调先确认所有结果都录完再点保存这不是流程麻烦而是经验教训。4.4 决策后的库存流与财务流使用决策完成后别只盯着QM的状态还要看库存和财务的变化。如果物料启用了质检库存当QA11选择“放行”时系统自动把“质检库存”转到“非限制库存”选择“拒收”时质检库存会转到“冻结库存/退货库存”。这个库存移动会自动产生相应的物料凭证进而影响物料数量账和财务账。这在项目里是QM和MM/FICO顾问经常联合调试的焦点。最常见的坑是物料主数据如果没有勾选“质检库存”相关字段或者QM后台的“Movement Type”对应关系没配好QA11保存后库存没有按预期转移。处理这类问题时别只盯QM配置先去查物料凭证MIGO显示或MB51看移动类型再从移动类型反查后台配置效率会高很多。5. 常见问题排查与实施经验5.1 检验计划用不上、检验批不生成的排查顺序检验批不生成在QM项目里是最高频的故障。每次接到这类问题我习惯按下面顺序排查物料主数据QM视图是否激活了对应检验类型MM02查看检验类型是否勾选“检验批自动生成”有些企业会故意关闭自动生成只允许手动QA01检验计划是否存在且状态为释放QS53/QS51查看检验计划的工厂、用途与物料主数据/采购订单/生产订单是否匹配事件触发时间点是否正确比如生产订单是否“下达”后才生成还是“创建”时就生成批次管理是否被激活因为无批次物料在部分QM功能下会有特别限制最后再看后台配置检验批生成规则、移动类型分配。有一次排查了很久最后发现问题不是QM配置而是采购订单行项目“检验编号”被手工清空了导致收货时系统没能找到检验计划来源。所以说遇到问题时先看具体单据数据再回到配置别一上来就猜后台。5.2 结果无法录入、决策无法保存的常见原因结果和决策保存失败通常跟以下几个点有关检验批状态未到“SETC”系统提示“没有可录入的结果记录集”这时先回QA32做“分配记录集”特性没有结果需求录入时提示“特性无结果需求”或录入结果后不被判定检查QS31里特性和工序的“必需”标识目录类型与代码组不匹配定性特性选值时弹出空的代码列表检查CT04里的目录和QS41建目录时的类型决策码未在后台定义QA11点保存报错“决策码不存在”去事务码OQ01/OQ02或者相应后台节点检查决策码的工厂分配权限问题对象S_QALS或S_QACO类的权限不足导致QE02/QA11保存被拒。我建议项目上线前把“错误提示文本”当作最重要的调试工具。每做一个测试性检验批都故意触发一次保存错误然后记录系统提示的逻辑整理成知识库。这样上线后用户打电话说“保存报错”你稍微问一句提示文字就能定位问题。5.3 取样方案不生效的检查点QP01配置取样方案后取样数量能不能自动算出来取决于层层调用是否完整。检查点如下QP01里的取样方案是否包含“取样代码”和“批次大小范围”CT04特性是否指定了“取样方案”而不是只填了固定取样数量QS31检验计划分配特性时是否会把取样方案覆盖或清空QA32分配结果记录集后检验批的“取样数量”是否按方案计算出来如果没有用QA02查看“检验批详情”的采样页签。取样方案按“批次大小”自动计算样本数本质是一个分段函数。比如批量50以内抽3个51到200抽5个201以上抽8个。这很像日常买彩票或报税时的累进规则设置时一定要把边界值设定清楚否则批量刚好卡在50和51之间时取样数量突变会让业务觉得“系统抽风”实际是方案没配平滑。5.4 值得记住的QM关键表和几个新事务码做QM开发和报表查数下面这些表要眼熟QALS检验批主表查检验批基本信息、来源、数量QAMR检验结果值存储按特性、行号可查到实测值QAVE使用决策数据能查到决策人和决策时间QAKL检验批与质量控制结果集的关系部分项目习惯用PLKO/PLMK/PLMW检验计划头、计划特性及特性值是批检验项目和取样规则的数据来源MARC/MARA物料主数据通用数据查QM视图配置MKPF/MSEG物料凭证查质检库存转移记录。另外现在新部署的S/4项目里QM有些经典事务码已经被新界面取代比如QE02的新版本QE02NQA11的新版本QA11NQA32也有新的Fiori应用。但古典事务码在很多老项目里仍然是主流程的一部分熟悉老代码不亏因为这些代码命名和界面逻辑足够直观转到新界面基本无痛。5.5 关于这套流程我的个人体会做QM这么多年最大的体会是流程的骨架是“主数据检验批决策”而真正决定项目成败的不是事务码本身而是业务上对“质量判定规则”的定义是否清晰。你看完整条链路会发现Q S41的代码组、CT04的公差、QP01的取样方案、 QA11的决策码全部都是业务规则落地的载体。如果业务自己说不清楚“什么情况让步接收、什么情况拒收”再完美的SAP配置也是空中楼阁。所以给后来者的建议是做完配置别急着演示界面先请业务把“检验标准手册”拿出来一条条对照这些事务码去落实再用一个真实物料从MM02到QA11全流程跑通让业务确认检验项目数量和取样逻辑跟线下完全一致。测试跑三遍没问题再谈上线。如果你正在实施新项目这套流程还建议额外关注一个扩展点SAP QM和PP/MM的自动交互逻辑配置比如生产订单下达生成检验批、收货自动带批次、动态调整取样这些是比事务码本身更靠后的隐性工程。希望这篇梳理能把你的思路理顺少走点我一路上踩过的弯路。