1、文章 1-SAP 札记:MM 批次管理前言食物与药品管理协会(GMP)对批次的定义是:批次是指在一给定的生产周期中生产的一定数量的任何药品。生产批次的重要性是同质性。从定义可以看出,具有“同质性”的一定数量的物品可以形成一个批,以便于储存、运输、销售等。例如,火腿肠都有一定的保质期,消费者在购买火腿肠时,首先要看的是这个火腿肠的保质期、生产日期信息(不知道你们是不是这样,反正我是每次买的时候都要看的) ,那么生产日期和保质期对于生产和销售火腿肠来说是很重要的属性。火腿厂每天要生产大量的火腿,不同日期生产的火腿就要按照批次来分别管理,在向零售商供货时,应该先供比较早生产的批次,以免在库里存放过期
2、。同一天生产的火腿就有了同质性“生产日期” ,那么同一天生产的可以通过一个批次或者多个批次来管理。上面是举了一个比较简单的例子,当然批次概念应用于各个行业,每个行业都有自己的需求和特点,批次管理在 SAP 系统中是如何应用的呢?一般来说,当同一物料每一采购批次或者生产批次都不尽相同时,才有必要启用批次管理,比如每一批次的价格,每一批次的生命周期,每一批次的颜色、重量、体积、尺寸等不相同,就可以用批次来管理,当启用批次管理后,会影响到 MM、PP、SD 等模块,涉及:采购,库存管理,生产投料,销售发货,同时也会影响到财务的成本核算。本文梳理了批次在 MM 模块的应用,主要内容包括:一、 物料与批
3、次二、 批次主数据三、 批次级别四、 批次分类五、 货架寿命六、 批次确定七、 分割评估一物料与批次若要对物料进行批次管理,首先要为该物料启用批次管理,在物料主数据-采购视图下勾选“批次管理” ,勾选批次管理,保存后,系统更新表 MARC-XCHAR=X。为物料启用批次管理的前提条件是该物料在当期和前期没有库存,若有库存,需要将库存清空。二、批次主数据2.1 批次主数据为物料启用批次管理后,就可以使用批次功能了,在 SAP 系统中,批次与物料一样都是主数据,而且也有组织架构,批次的组织架构包括:物料、工厂、库存地点。可以使用事务代码 MSC3N 来查看批次主数据,批次主数据包含组织架构,和基本
4、数据 1、基本数据 2、分类、物料数据、更改视图,主要内容如下: 基本数据 1生产日期、货架寿命到期日、评估类型、供应商、供应商批次、上一次收货(即最新的收货日期) 基本数据 2文本描述、预留日期字段 分类类、类类别、特征、特征值 物料数据总货架寿命、剩余货架寿命、期间标识 更改更改历史、更改凭证2.2 创建批次主数据创建批次主数据有以下三种方式:1) 事务代码 MSC1N(手工创建)2) 货物移动(自动创建)101 根据采购订单收货501 无采购订单的收货561 初始库存3) 生产订单/工单三种方式创建新批次的配置路径: SPRO-后勤 -常规 -批次管理 -创建新批次其中,手工创建新批次和
5、货物移动创建新批次的配置定义了生成和校验新批次的方式。批次主数据是依赖于物料主数据的,在创建批次主数据时一定要指定一个物料。2.3 批次编号批次主数据有内部给号、外部给号两种编码方式,批次编号可以是数字和字符。在IMG 路径 SPRO-后勤 -常规 -批次管理 -批次编号的分配 下配置批次给号方式、编码范围和编码范围的程序出口,SAP 系统提供了四个批次编号范围的用户出口,增强为 SAPLV01Z,下面两个用户出口用于自动分配批次编号: EXIT_SAPLV01Z_001: EXIT_SAPLV01Z_002:下面两个用户出口用于手工分配批次编号: EXIT_SAPLV01Z_003: EXI
6、T_SAPLV01Z_004:这四个用户出口的应用不做详细讨论,工作中遇到具体情况具体对待。三、批次级别每个物料主数据都通过一个由数字、或字母、或数字字母混合的编码进行标识,即物料编码,物料编码在集团级别唯一。批次主数据与物料主数据一样,也需要一个编码来标识,即批次编码(或编号),批次编码有三个级别(level):集团级别、物料级别、工厂级别,你可以决定批次编码在哪个级别唯一。在 IMG 路径 SPRO-后勤 -常规 -批次管理 -指定批级别并激活状态管理 下配置批次级别,下面是对各个批次级别的介绍:若批次级别是集团级别和物料级别,批次分类类别都是 023,批次数据主要存储在表MCH1;若批次
7、级别是工厂级别,批次分类类别都是 022,批次数据主要存储在表 MCHA。后面批次的分类和特性中会用到。SAP 系统批次默认的级别是工厂级别,批次级别可以由较低级别向较高级别转换,若向较低级别转换,只能由集团级别转换为物料级别(是因为集团级别和物料级别的批次数据表都是 MCH1,关键字段一样),批次级别存入表 TCUCH 中,批次级别之间的转换如下图所示:如果不小心把批次级别设成了物料级别,或需求有变,就真的不能转换成工厂级别吗?当然不是,不过方法比较麻烦,方法来自 SAP Notes:Note 41715 - Resetting batch level from material to pl
8、ant level1. For all releases lower than Release 4.5B, implement the corrections and the modification in the report RM07CHDX as described in the correction instructions.2. Create the report ZCHTCUCH, which is specified in the attachment.3. Run this report in the clients for which you want to reset ba
9、tch level to plant level.4. Call transaction OMCT.5. Check whether the batch level for “Batch unique at plant level“ is set.6. Implement Notes 821891, 944278, 950540 and 1091613 if you have not already done so (or you have not imported the corresponding Support Package).7. Execute the function “Batc
10、h Level - Conversion“.8. Define a plant for a plant view that may be missing.9. Always execute the report in the test mode first. Analyze the error log.10. If no errors occur, you can execute the report in production mode.11. If you are working with batch long texts, first execute the report ZM07CHD
11、X_TEXT in test mode.附:ZCHTCUCH 源代码:REPORT ZCHTCUCH. TABLES: TCUCH.SELECT * FROM TCUCH. IF TCUCH-KZDCH NE 0. TCUCH-KZDCH = 0. UPDATE TCUCH. WRITE:/ TCUCH changed to plant-level. ELSE. WRITE:/ TCUCH already changed to plant-level. ENDIF. ENDSELECT.相关程序: RM07CHDX RM07CHZX四、批次分类分类(Classification)是 SAP 系
12、统中应用比较广泛的一个功能,首先需要了解一些相关的概念:类,对象,特性(属性),特性值,等等。人们使用分类归纳法来更好的认识、记住、使用世间万物,比如动物、食物、植物,等等等等,每个类都有自己的属性,动物会跑、会叫,食物的气味、口感有了具体的特性值,就可以形成一个对象,一个动物会哭、会笑、穿衣服、会使用工具,这个对象就是人。人也可以作为一个类,来作为对动物类的细分,人类的对象就可以是中国人、美国人、日本人,或者男人、女人、中性人,等等。SAP 系统中,有很多领域都用到了类,为了将各个领域、不同用途的类区分开,SAP 系统提供了几十种类类别(class type),类类别是更高级别的控制类的单元
13、,在系统中体现为该领域所用到的表的组合。例如,001 物料分类,002 设备分类,010 供应商分类,022 批次分类,023 批次分类有关 SAP 系统分类(Classification)的详细内容,可查阅相关资料,接下来继续看批次分类是如何应用的。4.1 创建特性SAP 系统包含三种特性: 用户定义特性:不参考系统表字段,手工指定特性的数据类型(字符格式、数字格式等),特征值存入表 AUSP 中。 参考特性:参考系统表字段,数据类型由参考的表字段决定,特征值除了存入表AUSP 中,还会存入参考的表字段。 标准特性:SAP 系统提供的特性。系统提供的批次相关的特性以 LOBM_*开头。使用事务代码 CT04 创建特性,创建时要为特性定义描述、数据类型、数据长度等内容,