简介:PDF课件面向SAP实施顾问、供应链与库存管理人员,系统讲解分类管理、序列号管理和批次管理三大库存精细化控制模块,以解决多评估类型、分割评估下的库存消耗顺序与单品追溯难题。分类管理部分介绍事务代码CL01/CL02/CL03维护分类、CT04/T05/CT06维护特征值,可将MARA等表的字段复制到物料特征,并将分类关联至供应商、采购审批等业务;序列号管理通过唯一标识追踪高价值或受法规要求的产品,实现从生产到销售、再到退货库存的全程状态追溯;批次管理针对食品、药品等需质量追踪的物料,设计批次选择规则,并延伸讲解库存确定策略(自有库存优先、国内采购优先)与安全库存计算(MAD、R系数、W因素)。资源为单个PDF文件,大小2.53MB,图文混排便于案头快速查找。目前已有3301人学习下载,有助于理顺主数据分类、库存批次与安全库存之间的联动,适用于日常运维与项目配置参考。
1. SAP分类、序列号和批次管理:账实不符、缺陷召回和追溯卡点,多半出在这三件事没打通
一打开SAP,物料主数据看着齐了,可一到月末盘点,账实不符;质量客诉,无法锁定哪个批次;设备保修,说不清哪一台序列号在外。这些问题本质上是主数据没有在“属性、批、序列号”三个维度上建立能力。SAP分类管理解决“物料怎么描述和筛选”,批次管理解决“同一物料不同来源的区分”,序列号管理解决“单件是谁、去哪了”。它们不是三个孤立配置,而是同一套追溯链条。下文按配置顺序讲透参数、操作和踩坑点,适合物料、质量、MES/IT顾问在项目上线前做自查。
2. SAP分类管理:用特性与类给物料“画像”,配置、批量分配与筛选排查
2.1 分类管理的基本逻辑:类类型、特性与对象的三角关系
在SAP里,分类管理(Classification)不是一个单独的“功能模块”,而是一组可以挂在任意主数据上的抽象结构。核心分为三层:类类型、特性和对象。类类型是业务对象属性,例如物料对应的类类型是023,设备是017,客户是002,不同类类型决定了该分类能被哪些对象使用。特性是具体属性描述,例如“额定电压”“表面处理”“材质”,每个特性有数据类型、单位、值域和缺省值。类是把若干特性打包形成一个可复用的模板,例如“电机规格”,然后将它分配给具体的物料。
理解这个三角关系很关键。在MM01里给物料分配分类,实际上是在维护对象与类之间的分配关系,而特性值则被存放到与这条分配关系相关的属性表里。后面要做的报表筛选、单一来源检查、批次特性继承,都是围绕这个数据结构展开。很多顾问第一次接触分类,喜欢把特性全部塞进物料主数据里的“基本数据”页签,结果每个物料主数据变得非常长,维护成本高,查询也没法用标准“按特性查物料”的方式。用分类最大的优势是:特性值独立于物料主数据,可以和批次、序列号一样被追溯和过滤。
在维护特性时,有几个参数必须想清楚再动手。第一个是数据类型,如果电压等级用CHAR,排序和区间筛选会按字母序,数字上“380V”和“10kV”混在一起时非常痛苦。第二个是值域,可以限制为固定值或区间,但不能依赖它做销售的可配置变式。第三个是继承权限,如果批次管理启用了批次特性,分类特性的值可以传到批次主数据,这是实现“批次证书”的基础。我一般建议把“公共属性”放在物料类,“批次特有属性”单独放在批次特性里,避免后续维护互相打架。
2.2 配置一道通的步骤:CT04建特性、CL01建分类、CL20N分配
实操顺序是先特性再分类,最后分配对象。最精简的步骤用下面这个操作路径:
- CT04 创建特性:维护特性代码、描述、数据类型(CHAR / NUM / CUR / DATS)、值域和单位。例如创建一个“电压等级”特性,代码 VOLTAGE_LEV,数据类型 CHAR,值域列表 220V / 380V / 660V / 10kV。
- CL01 创建分类:输入分类名称 MOTOR_SPEC,类类型 023,然后在“特性”页签里加入 VOLTAGE_LEV 以及其他特性。分类状态可以选可发布状态码,但建议先设为“草稿”,测试通过后再发布。
- MM01 / MM02 分配:在物料主数据分类视图里调用该分类,填入特性值;也可以直接在 MM01 的“分类”页签选择分类列表,逐行维护。
- CL20N 批量分配:当你需要对一批物料统一分配同一个分类时,用 CL20N 按物料编号区间、工厂维度一次性分配。注意 CL20N 只分配类,不维护特性值。
- MM03 验证:显示物料主数据的分类视图,检查分类和特性值是否带入。分配类别后,如果特性值空,要回MM02补录。
常用事务代码对照如下。
| 事务代码 | 用途 | 关键参数 |
|---|---|---|
| CT04 | 创建/修改特性 | 数据类型、值域、继承标记 |
| CL01 / CL02 / CL03 | 创建/修改/显示分类 | 类类型、特性清单、状态 |
| CL20N | 批量分配对象 | 物料号区间、工厂、对象类型 |
| MM03 | 显示物料主数据 | 分类视图、特性值带出情况 |
在CL01里,类类型一定不能配错。物料类是023,设备是017,如果你在CL01里用了002(客户类),CL20N分配时根本找不到物料对象。这个错误在项目里出现频率不低,所以分配之前先用CL03看一下类的类型。另外,类状态字段也值得关注。标准SAP里状态码有1、2、3,分别对应准备中、已发布、已锁定;已锁定状态下的类不允许新分配对象,但对既有分配没有影响,适合做变更控制。
2.3 批量导入分类:LSMW录屏与BAPI的取舍
上线期最费时间的不是配置,而是主数据导入。物料分类数据量大时,可以在MM01里录一期分类视图的屏幕,之后在LSMW里重复执行。但录屏方案有个隐藏坑:MM01分类视图的“分类”字段在更改模式下有时会处于保护状态,录屏回放时容易报“字段只能录入一次”。更稳妥的做法是直接调用标准BAPI做分类分配。
下面是一个极简的ABAP调用骨架,用于把某个类别分配到物料上,并返回业务错误信息。它不一定能原样跑在所有客户环境里,但足以说明调用方式:
DATA: ls_allocation TYPE bapi1003_key. DATA: lt_alloc TYPE TABLE OF bapi1003_key. DATA: lt_return TYPE TABLE OF bapiret2. ls_allocation-object = 'MATN1'. " 对象类型:物料 ls_allocation-objectkey = '100101'. " 物料号 APPEND ls_allocation TO lt_alloc. CALL FUNCTION 'BAPI_CLASS_CREATE_ALLOCATION' EXPORTING classnum = 'MOTOR_SPEC' classtype = '023' TABLES allocation = lt_alloc return = lt_return. LOOP AT lt_return INTO DATA(ls_ret) WHERE type = 'E'. WRITE: / ls_ret-message. ENDLOOP.从代码里可以看到,需要先构造一条 allocation 内部表,指定对象类型和对象号,再传类名和类类型,最后检查 return 表里的 E 类型消息。参数 objectkey 是物料号,但要注意物料号前导零:如果物料长度是18,这里需要补够18位,否则BAPI会拿不到对象。在一次项目里,因为内部顾问给的物料号没有补零,连续跑300条,全部返回“对象不存在”,就是这个原因。
如果不想写ABAP,也可以走CL20N传输,但CL20N不支持“分类+特性值”一起导入,只能建立分类与对象的分配关系。特性值仍需要在MM02/MM01里逐条维护,或用BDC录屏一并处理。所以我通常这样取舍:分配关系用BAPI,特性值用LSMW录屏补充,两条腿走路,效率和准确率都能保证。
2.4 用ABAP查分类分配关系:比SE16N更顺手
项目里需要核对“哪些物料有分类,哪些没有”“某个特性值是否合法”,SE16N翻表太慢,手写一个报表更实用。分类相关的主要底表有四张:KLAH(类头)、KSSK(对象与类分配关系)、CABN(特性)、CAWN(特性值)。注意查询时要通过内部号CLINT、ATINN关联,而不是类名,否则重名类会串。
下面这段ABAP会把类、对象号和特性值一次性拉出来,适合核对批量分配结果:
DATA: BEGIN OF ls_data, klart TYPE klah-klart, class TYPE klah-class, objek TYPE kssk-objek, atnam TYPE cabn-atnam, atwrt TYPE cawn-atwrt, END OF ls_data. SELECT k~klart k~class s~objek c~atnam w~atwrt FROM klah AS k INNER JOIN kssk AS s ON s~clint = k~clint INNER JOIN cawn AS w ON w~clint = k~clint INNER JOIN cabn AS c ON c~atinn = w~atinn INTO ls_data UP TO 100 ROWS. WRITE: / ls_data-klart, ls_data-class, ls_data-objek, ls_data-atnam, ls_data-atwrt. ENDSELECT.这段代码里的 INNER JOIN 会自动过滤掉“没有分类”的物料对象。如果要把结果用于查漏,需要改用 LEFT OUTER JOIN 并以 KSSK 为驱动表。特性值只存在于 CAWN 里,而类名与特性的关联则通过 CAWN-CLINT 与 CABN-ATINN 来完成。这里有个容易出错的细节:CAWN-CLINT 是类的内部号,KLAH-CLINT 也是内部号,所以关联都用 CLINT。很多人直接拿 CLASS 类名去连,结果重名类会互相串数据,只能靠 CLASS 加 KLART 双重条件过滤。
提示:实际项目里如果只想快速核对“某个物料属于哪些分类”,用 CL03 显示分类并展开对象列表就行,不需要写代码。需要批量导出时再考虑上面的 SELECT。
3. SAP序列号管理:从启用到单品追溯,配置参数与MIGO过账坑
3.1 序列号参数文件:决定“每一件货怎么被盯住”
批次管理管到“批”,序列号管理管到“件”。SAP里序列号并非像批号那样直接写在物料凭证上,而是通过“序列号参数文件”挂在物料主数据上,在过账时由系统按参数文件决定是否必须创建序列号、编号靠哪个区间、是否允许重复。后台配置路径在“物料管理—序列号管理—定义序列号参数文件”,不同版本菜单位置有微小差异,但控制点就三个:序列号编号间隔、序列号生成时机、是否自动分配。
参数文件里最值得关注的是“序列号级别”。同一物料在同一次收货里,可以选择“每个物料一个号”,也可以选择“每个收货行一个号”。对于机械备件,建议每个物料一个序列号,这样后续维修记录可以直接挂在单件上;对于法兰、螺栓这类低值易耗品,开序列号完全是负担,反而会在MIGO里拖慢过账。还有“编号范围间隔”要给够,如果工厂每天入一千件设备,序列号区间只有一千,月底就会撞号。撞号后常见的错误是“序列号已存在”,而不是“编号范围溢出”,很多顾问会往等级检查上想,实际上是编号间隔没配置够。
另外还要区分两个概念:序列号主记录和设备主记录。IQ01创建序列号主记录,EQ01创建设备主记录,两者不是一回事。序列号主记录可以描述“某件产品本身”,设备主记录则是“客户现场安装的那台机器”。当序列号随销售订单交到客户后,需要把序列号和设备号通过“附加数据”建立关联,之后PM工单才能按设备追踪。
3.2 物料主数据与MIGO收货:为什么别人有序列号页签你没有
在物料主数据的“销售:一般/工厂数据”相关视图里,有一个“序列号参数文件”字段。很多项目只在基本数据视图里开了序列号开关,工厂视图没放参数文件,结果MIGO货物移动时页面灰掉。正确做法是在物料主数据的“工厂数据/存储”或“发货/收货”视图里维护参数文件,并保证账户分配类别“无限制”或“序列号管理”被激活。
配置完成后,MIGO里收货,页签列表会出现“序列号”页签。首次收货时,通过点击“自动编号生成”图标,系统按照参数文件分配连续的序列号;也可以手动维护,比如供应商打印了实物序列号,需要保证系统号与实物号一致。手动维护时,序列号不能重复,且长度受编号区间限制。
常见的一个坑是:序列号页签有了,但过账时报“物料 100101 没有序列号管理”。这种情况通常是因为移动类型维护里没把序列号管理挂上。IMG“物料管理—库存管理和实际盘点—移动类型维护(OMJJ)”里,要找相应的移动类型,例如101收货和261/262发货,确认“序列号管理”被勾选。如果移动类型没开序列号,页签会被禁用,或者过账时系统直接忽略你输入的内容。
还有一个MIGO过账增强的隐患:如果项目里启用了BADI增强 MB_MIGO_BADI 拦截序列号检查,比如自动把不存在的序列号批量创建,就一定要在增强代码里同步维护“状态”字段。我处理过一个现场,BAdI自动创建序列号时没有写状态,过账成功,但IQ03打开单件始终处于“未完成”状态,后续发货一直被“序列号不存在”拦截。所以增强越权要做,但对SAP标准控制字段最好只读,不要自作主张。
3.3 序列号主记录维护:IQ01/IQ02/IQ03与IQ10追溯
序列号主记录维护用标准事务代码:IQ01创建,IQ02修改,IQ03显示。IQ04删除不推荐在生产里直接使用,误删后关联记录难恢复。主记录里最核心的字段是“序列号”“物料号”“工厂”和状态。状态字段不是随便填的,它决定该序列号是否可被发货、是否处于修理中、是否已报废。
当销售订单交货过账后,序列号会从“库存可用”变成“已发货”,在IQ03里可以看到客户和交付单号。想追一串序列号的历史移动,直接用IQ10“序列号追踪”,从采购收货到销售发货一步步下钻,每一笔物料凭证和关联的单据号都在里面。这个报表是售后追责的核心工具。做逆向流程时,还可以针对单个序列号做销售退货接收,系统会自动把它从客户处退回库存,状态恢复为“可用”。
3.4 序列号盘点:用IQ03导出与Excel核对库存
盘点时,实物贴了序列号,但SAP里的序列号库存和实物数量不一致,是常态。我的习惯做法是先跑OIS1“序列号库存清单”,把当前工厂+库位+物料+序列号全部导出,再和实物扫描结果做Excel匹配。OIS1在部分版本里叫“序列号发货/接收历史”,如果找不到,就用IQ03按物料范围批量导出序列号,注意勾选“库存状态”,别把已发货的也带出来。
Excel匹配时,用COUNTIF判断重复,然后分三类处理:系统有实物无(漏过账)、实物有系统无(没创建序列号)、两边都有但状态不一致(状态没更新)。这三类对应的处理动作完全不同:第一类补做移库或盘亏,第二类补建序列号或盘盈,第三类先去MIGO看移动类型记录,检查是否有反向过账还没做。这套方法做完,序列号账实差异可以控制在千分之一以内。
4. SAP批次管理:从启用批次级到自动确定,关键参数与常用事务代码
4.1 批次级别、批次状态与批次确定:三层理解
批次管理是SAP里“批次级追溯”的实现方式。它管理的是同一物料内部不同供应来源、不同生产日期、不同质量状态的多个子集。启用批次前,首先决定“批次级别”。标准系统提供物料级与工厂级两种设置:物料级批次下,批号在创建时自动以物料为单位生成,编号可能带物料内部号;工厂级批次则允许同一批号在不同工厂独立管理,批量大规模、供应商来料场景通常选工厂级。
批次状态管理是很多人会忽略的部分。启用批次状态后,每个批次可以有“未限制”“已限制”“待使用”等状态,库存移动时系统会检查目标状态是否允许。质量部门在质检后把批次“限制”,销售部门便不能发货,物理可用但在系统中被冻结。状态本身可以自定义,也可以通过“状态主页”设置自动转移动作,比如质检通过后自动从“待使用”变成“未限制”。配置时先把状态码和文本建好,再激活“状态管理”,顺序反了会报“无状态可处理”。
批次确定则是真正的自动化。销售订单出库、生产发料、库存调拨都可以配置自动批次确定的策略:系统根据条件(物料、有效期、货架期、批次状态、剩余保质期天数)筛选可用批次并给出推荐。不要把批次确定理解成一个万能开关,它是基于条件技术的,必须先定义查找顺序、字段目录、条件记录,再分配到移动类型。最简单的做法是用标准优先级顺序:工厂+物料+批次状态+有效期。
4.2 启用批次管理:从物料主数据到移动类型的联动
在物料主数据“工厂数据/存储”相关视图里勾选“批次管理”字段,该物料在对应工厂的库存交易才开始显示批次字段。如果只勾选了“批次管理”但没有分配“批次自动创建”,收货时不输批次号,系统报错“请输入批次”。典型的解决方法是把物料主数据里“自动创建批次”勾上,或者要求仓库在MIGO中手工建批。
后台还需要设置批次号码分配规则。批次编号使用编号范围对象“BATCH_MATERIAL”还是“BATCH_PLANT”,取决于批次级别。工厂级批次用工厂对象,物料级批次用物料对象。在部分ECC版本里,如果在IMG“定义批次号分配”里选择了物料级,而实际启用了工厂级,保存时会直接报错。建议在做配置前先用SE11看下相关序列号范围对象是否存在,避免上线日才发现分配不了。
配置完成后,用MIGO做一次101收货打测试。收货后,在“批次”页签输入批号,保存后自动产生批次主记录。若没有单独建批,则在物料凭证里点击“批次数据”图标,再“创建批次”,系统按编号范围自动生成。这条链路通了,生产、销售、库存移动才算真正进入批次模式。
4.3 批次主记录维护:MSC1/MSC2/MSC3与MIGO拆批
批次主记录的常用事务代码是MSC1创建、MSC2修改、MSC3显示。MSC1创建时,要选择“物料编号+工厂+批号+有效期”,并可以填入供应商代码、生产日期、保质期等;后续质量检验结果也记录在批次的“物料检验”页签中。
入库时如果一批货想拆成两个批次,MIGO在行的“批次”栏里先输入一个批号,再点“拆分”,系统把数量拆成多行,每行一个批号。拆分时的字段包括数量、存储类型和库位。要注意,拆批只能在收货时做,收货过账完成后想要再拆,需要走MSC2去改批次属性,或者重新做移库加批次拆分。很多临时方案是把整批数量全部留在旧批,再通过“后续调整”把部分数量转到新批,这种操作在审计上会有痕迹,能避免就避免。
批次主记录里的“有效期至”和“生产日期”会被自动批次确定策略读取。如果工厂没有给批次分配“货架期剩余天数”的字段目录,自动确定策略里的条件类型也选不到“货架期”,就永远不会按剩余天数筛选。所以批次确定调不出来时,不要急着怀疑主数据,先检查条件记录的字段目录是不是配全了。
4.4 用MD07做批次需求追溯:从总需求下钻到MB51
MD07是物料需求追溯的经典报表,它把一个物料在多个工厂/库位的需求来源按时间轴展开。但它显示的是总需求,不是批次明细。批次追溯的真正落地要从MB51“物料凭证列表”开始:在MB51里按物料、批次、移动类型筛选,可以看到每一笔跟该批次相关的货物移动,包括采购订单收货、生产订单投料、销售订单发货。再把物料凭证号带回MIGO或WE02看关联单据,这就是最廉价的批次追溯链路。
我常用的做法是:从MD07找到该物料的需求日期,再到MB51用“批次”字段过滤目标日期的移动记录;然后点开物料凭证,查看“发货/收货”的关联凭证;最后在MSC3里确认批次主记录的有效期、来源供应商,形成从总需求到单批入库的闭环。整个过程不需要任何ABAP开发,标准事务代码即可完成,适合做上线验收测试或年度内审的自证材料。
若想让批次追溯更自动化,可以考虑启用SAP标准的“批次追溯”功能,它在质量模块里通过“批次跟踪”报表展示批次的父子关系。但这个报表依赖批次拆分记录和序列号关联,前期主数据不干净时,跑出来会漏数据,所以首次使用前务必用上面的手工链路做对照。
5. 分类加批次加序列号一起用:五个常见的翻车现场与排查路径
5.1 三个功能互相牵制:为什么单独配置都能通,合在一起就崩
分类、批次、序列号三个功能在配置上没有强制依赖检查,但业务单据上会互相引用。例如分类特性值可以被批次引用为“批次特性”,序列号主记录可以引用批次号,而批次状态又会影响序列号能否发货。单独测都没问题,合在一起就容易出现“字段没激活”“对象类型不匹配”“状态不一致”等互相掩盖的错。所以遇到异常,先确认操作发生在哪个单据、哪个对象类型上,再决定查哪张表。
实际配置顺序建议是:先定义分类特性和类,再启用物料批次管理,最后挂序列号参数文件。原因是批次特性可以从分类拷贝,序列号又需要挂在工厂级主数据上,顺序颠倒会导致批次特性带不出值。如果已经上线后发现三者割裂,补救成本很高,通常要回到主数据视图重做。
5.2 批次启用后库存过账报“批不存在”
现象:MIGO 101收货时,系统允许输入批号,但保存时报“批次 2024001 在工厂 1000 中不存在”,于是收货无法过账。
原因:批量启用后,该移动类型没有配置“自动创建批次”。或者用户输入的是MSC2里不存在的批号,但MIGO并不会自动创建批次。
解决:先在MSC1用相同物料+工厂创建该批号,或在物料主数据里勾选“自动创建批次”,再在MIGO行项目中点击“创建批次”图标。如果项目要求每批来料都有独立批号,建议在收货界面上强制使用自动编号,不要让人手输。项目上线后出现这个错,多半是主数据批量导入时把“批次管理”字段漏了,要先回头检查物料主数据的工厂视图。
5.3 MIGO收货看不到序列号页签,或序列号栏置灰
现象:物料主数据在基本数据里已经勾选了序列号参数文件,但用MIGO做101收货时,“序列号”页签没出现,或展开后输入框是灰色的。
原因:序列号参数文件没有在工厂视图分配,或者移动类型101在OMJJ里没有勾选“序列号管理”。常见于从别的工厂复制物料主数据,工厂级参数文件未复制过去。
解决:MM03检查工厂视图“序列号参数文件”是否为空;OMJJ打开MVT 101检查“序列号管理”是否激活;最后重新保存物料主数据。注意如果用了BADI增强,还要检查增强代码是否把页面状态强制置灰。检查时把页面截图和配置截图放到同一张问题单里,能省一轮来回沟通。
5.4 分类分配后,报表按特性筛选却空白
现象:CL20N批量分配后,MM03分类视图能看到类名,也有特性值,但标准报表按特性值筛选时结果为空,或CSV导出完全没数据。
原因:分类分配表的对象类型与物料主数据不一致,常见的错误是类类型选了017而不是023,或者CL20N分配时“对象类型”选成了EQUI(设备)。另一个原因是分类状态是“锁定”,对象处于分类视图历史的旧记录里。
解决:用CL20N重新按物料类批量分配;无法确认时,使用第2.4节的ABAP查KSSK-CLINT是否匹配物料,不匹配则删掉错误分配再补。同时检查分类状态,已锁定类不影响旧分配,但新建分配会报错。这类问题最容易被误判成“报表缓存”,其实是分配关系根本没建对。
5.5 LSMW导入物料主数据后分类视图丢失
现象:LSMW批量导入物料时,物料基本数据和批次字段都正常,但物料主数据的分类视图完全消失,MM03显示“没有分配类”。
原因:LSMW录屏时MM01分类视图的“类”字段处于保护状态,录屏回放没有写进分类;或BAPI_MATERIAL_SAVEDATA返回的扩展字段被忽略。
解决:LSMW里维持录屏,但分类分配改用BAPI_CLASS_CREATE_ALLOCATION单独跑;如果是BDC录屏,要确保在调用MM01时把屏幕切换进“分类视图”,且输入“分类类型”。从此之后,我分配分类一律用BAPI分开做,录屏只用来填特性值,两条路径互不干扰,问题不再复现。
5.6 批次确定老选到临期批次,查了到货日期才发现策略过期
现象:自动批次确定生成的推荐,总是挑出同一批次,哪怕它第二天就过保质期;手动调整后,后续单据又重新选回临期批次。
原因:条件记录里“批次状态”和“货架期剩余天数”没有参与排序,或者策略按照有效期排序但当前日期跨越了日期变更,导致策略被跳过。很多时候是因为销售模块批次确定只在“装运”时重新检查,MIGO出货后策略就不会再跑。
解决:在批次确定策略里把“剩余保质期天数”作为排序条件,并在物料主数据维护生产日期和有效期。过期策略立即停用(状态改为锁定),并检查自动批次确定的条件记录是否有有效期段的“至”日期没维护成未来日期。在食品和医药行业,这个坑尤其要盯紧,宁可先锁旧批次再调策略,也不能让临期批次在系统中默认优先。
6. 验证三件套配置是否到位:从MD07到MB51的低成本追溯演练
6.1 演练设计
给一个最小可用案例:物料100101,分类MOTOR_SPEC,批号BATCH-001,序列号SER001-SER100。业务链:采购收货→库存转移→销售发货。按照下面的步骤走一遍,任何一个环节异常都能立刻定位到是分类、批次还是序列号的问题。
| 步骤 | 操作 | 事务代码 | 确认点 |
|---|---|---|---|
| 1 | 建特性与类 | CT04/CL01 | 类状态已发布 |
| 2 | 物料维护批次+序列号及分类 | MM02 | 工厂视图批次管理勾选,序列号参数文件已挂 |
| 3 | 采购收货100件,拆分2批 | MIGO | 批号自动创建,序列号自动生成 |
| 4 | 从库存地1000移到2000 | MIGO 311 | 批次与序列号仍保留 |
| 5 | 销售订单交货并过账 | VL01N/VL02N | 库存状态变为已发货 |
| 6 | 序列号追溯 | IQ10/IQ03 | 每件状态为“已发货”,关联物料凭证 |
| 7 | 批次追溯 | MB51+MSC3 | 按批号过滤出所有凭证,核对来源/去向 |
| 8 | 分类抽查 | MM03 | 分类视图与特性值齐全 |
| 9 | 需求对照 | MD07 | 发货数量在需求报表中已销掉 |
6.2 关键验证点:序列号与批次是否在同一张凭证
成本上最怕序列号有了,批次号没有关联;批次有了,序列号却独立。验证时,MIGO收货后,打开物料凭证的“序列号”行,点开序列号主记录,看它是否带有批次号。在MSC3里看批次时,也要看“序列号列表”是否能显示该批下的件号。如果两者对不上,说明移动类型配置里没把“批次与序列号的关联”打开,需要在OMJJ中检查“序列号更新”的批次导出标志。
6.3 收尾
这一套走完,实际上把分类的配置、批次的可用性、序列号的溯源全部测了一遍。从那以后,我每次配置完这三项,都强制走一遍这个流程:先建类,再启用批次和序列号,然后通过MIGO做101收货,最后用IQ10和MB51反向查一遍。过程中碰到的任何灰色状态,都会立刻在配置清单里做标记,绝不等上线后再去翻旧账。希望帮到你。
本文还有配套的精品资源,点击获取