批次管理汇总.docx
《批次管理汇总.docx》由会员分享,可在线阅读,更多相关《批次管理汇总.docx(44页珍藏版)》请在冰豆网上搜索。
批次管理汇总
文章1-SAP札记:
MM批次管理
前言
食物与药品管理协会(GMP)对批次的定义是:
批次是指在一给定的生产周期中生产的一定数量的任何药品。
生产批次的重要性是同质性。
从定义可以看出,具有“同质性”的一定数量的物品可以形成一个批,以便于储存、运输、销售等。
例如,火腿肠都有一定的保质期,消费者在购买火腿肠时,首先要看的是这个火腿肠的保质期、生产日期信息(不知道你们是不是这样,反正我是每次买的时候都要看的),那么生产日期和保质期对于生产和销售火腿肠来说是很重要的属性。
火腿厂每天要生产大量的火腿,不同日期生产的火腿就要按照批次来分别管理,在向零售商供货时,应该先供比较早生产的批次,以免在库里存放过期。
同一天生产的火腿就有了同质性“生产日期”,那么同一天生产的可以通过一个批次或者多个批次来管理。
上面是举了一个比较简单的例子,当然批次概念应用于各个行业,每个行业都有自己的需求和特点,批次管理在SAP系统中是如何应用的呢?
一般来说,当同一物料每一采购批次或者生产批次都不尽相同时,才有必要启用批次管理,比如每一批次的价格,每一批次的生命周期,每一批次的颜色、重量、体积、尺寸等不相同,就可以用批次来管理,当启用批次管理后,会影响到MM、PP、SD等模块,涉及:
采购,库存管理,生产投料,销售发货,同时也会影响到财务的成本核算。
本文梳理了批次在MM模块的应用,主要内容包括:
一、 物料与批次
二、 批次主数据
三、 批次级别
四、 批次分类
五、 货架寿命
六、 批次确定
七、 分割评估
一.物料与批次
若要对物料进行批次管理,首先要为该物料启用批次管理,在物料主数据->采购视图下勾选“批次管理”,
勾选批次管理,保存后,系统更新表MARC-XCHAR=X。
为物料启用批次管理的前提条件是该物料在当期和前期没有库存,若有库存,需要将库存清空。
二、批次主数据
2.1批次主数据
为物料启用批次管理后,就可以使用批次功能了,在SAP系统中,批次与物料一样都是主数据,而且也有组织架构,批次的组织架构包括:
物料、工厂、库存地点。
可以使用事务代码MSC3N来查看批次主数据,
批次主数据包含组织架构,和基本数据1、基本数据2、分类、物料数据、更改视图,主要内容如下:
∙基本数据1
生产日期、货架寿命到期日、评估类型、供应商、供应商批次、上一次收货(即最新的收货日期)……
∙基本数据2
文本描述、预留日期字段……
∙分类
类、类类别、特征、特征值
∙物料数据
总货架寿命、剩余货架寿命、期间标识……
∙更改
更改历史、更改凭证
2.2创建批次主数据
创建批次主数据有以下三种方式:
1) 事务代码MSC1N(手工创建)
2) 货物移动(自动创建)
101 根据采购订单收货
501无采购订单的收货
561 初始库存
……
3) 生产订单/工单
三种方式创建新批次的配置路径:
SPRO->后勤-常规->批次管理->创建新批次
其中,手工创建新批次和货物移动创建新批次的配置定义了生成和校验新批次的方式。
批次主数据是依赖于物料主数据的,在创建批次主数据时一定要指定一个物料。
2.3批次编号
批次主数据有内部给号、外部给号两种编码方式,批次编号可以是数字和字符。
在IMG路径SPRO->后勤-常规->批次管理->批次编号的分配 下配置批次给号方式、编码范围和编码范围的程序出口,
SAP系统提供了四个批次编号范围的用户出口,增强为SAPLV01Z,
下面两个用户出口用于自动分配批次编号:
EXIT_SAPLV01Z_001:
EXIT_SAPLV01Z_002:
下面两个用户出口用于手工分配批次编号:
EXIT_SAPLV01Z_003:
EXIT_SAPLV01Z_004:
这四个用户出口的应用不做详细讨论,工作中遇到具体情况具体对待。
三、批次级别
每个物料主数据都通过一个由数字、或字母、或数字字母混合的编码进行标识,即物料编码,物料编码在集团级别唯一。
批次主数据与物料主数据一样,也需要一个编码来标识,即批次编码(或编号),批次编码有三个级别(level):
集团级别、物料级别、工厂级别,你可以决定批次编码在哪个级别唯一。
在IMG路径 SPRO->后勤-常规->批次管理->指定批级别并激活状态管理 下配置批次级别,
下面是对各个批次级别的介绍:
若批次级别是集团级别和物料级别,批次分类类别都是023,批次数据主要存储在表MCH1;若批次级别是工厂级别,批次分类类别都是022,批次数据主要存储在表MCHA。
后面批次的分类和特性中会用到。
SAP系统批次默认的级别是工厂级别,批次级别可以由较低级别向较高级别转换,若向较低级别转换,只能由集团级别转换为物料级别(是因为集团级别和物料级别的批次数据表都是MCH1,关键字段一样),批次级别存入表TCUCH中,
批次级别之间的转换如下图所示:
如果不小心把批次级别设成了物料级别,或需求有变,就真的不能转换成工厂级别吗?
当然不是,不过方法比较麻烦,方法来自SAPNotes:
Note41715-Resettingbatchlevelfrommaterialtoplantlevel
1.ForallreleaseslowerthanRelease4.5B,implementthecorrectionsandthemodificationinthereportRM07CHDXasdescribedinthecorrectioninstructions.
2.CreatethereportZCHTCUCH,whichisspecifiedintheattachment.
3.Runthisreportintheclientsforwhichyouwanttoresetbatchleveltoplantlevel.
4.CalltransactionOMCT.
5.Checkwhetherthebatchlevelfor"Batchuniqueatplantlevel"isset.
6.ImplementNotes821891,944278,950540and1091613ifyouhavenotalreadydoneso(oryouhavenotimportedthecorrespondingSupportPackage).
7.Executethefunction"BatchLevel->Conversion".
8.Defineaplantforaplantviewthatmaybemissing.
9.Alwaysexecutethereportinthetestmodefirst.Analyzetheerrorlog.
10.Ifnoerrorsoccur, youcanexecutethereportinproductionmode.
11.Ifyouareworkingwithbatchlongtexts,firstexecutethereportZM07CHDX_TEXTintestmode.
附:
ZCHTCUCH源代码:
REPORTZCHTCUCH.
TABLES:
TCUCH.
SELECT*FROMTCUCH.
IFTCUCH-KZDCHNE'0'.
TCUCH-KZDCH='0'.
UPDATETCUCH.
WRITE:
/'TCUCHchangedtoplant-level'.
ELSE.
WRITE:
/'TCUCHalreadychangedtoplant-level'.
ENDIF.
ENDSELECT.
相关程序:
RM07CHDX
RM07CHZX
四、批次分类
分类(Classification)是SAP系统中应用比较广泛的一个功能,首先需要了解一些相关的概念:
类,对象,特性(属性),特性值,等等。
人们使用分类归纳法来更好的认识、记住、使用世间万物,比如动物、食物、植物,等等等等,每个类都有自己的属性,动物会跑、会叫,食物的气味、口感……有了具体的特性值,就可以形成一个对象,一个动物会哭、会笑、穿衣服、会使用工具,这个对象就是人。
人也可以作为一个类,来作为对动物类的细分,人类的对象就可以是中国人、美国人、日本人,或者男人、女人、中性人,等等。
SAP系统中,有很多领域都用到了类,为了将各个领域、不同用途的类区分开,SAP系统提供了几十种类类别(classtype),类类别是更高级别的控制类的单元,在系统中体现为该领域所用到的表的组合。
例如,001物料分类,002设备分类,010供应商分类,022批次分类,023批次分类……
有关SAP系统分类(Classification)的详细内容,可查阅相关资料,接下来继续看批次分类是如何应用的。
4.1创建特性
SAP系统包含三种特性:
用户定义特性:
不参考系统表字段,手工指定特性的数据类型(字符格式、数字格式等),特征值存入表AUSP中。
参考特性:
参考系统表字段,数据类型由参考的表字段决定,特征值除了存入表AUSP中,还会存入参考的表字段。
标准特性:
SAP系统提供的特性。
系统提供的批次相关的特性以LOBM_*开头。
使用事务代码CT04创建特性,创建时要为特性定义描述、数据类型、数据长度等内容,
如果要定义为参考特性,在“附加数据”分页下选择参考的表和字段,
4.2创建批次分类
使用事务代码CL01创建类,创建类时要为类分配类类别,创建批次类时要一般选择类类别023,
在“特性”分页下为该类分配用到的特性,
OK,到目前为止我有了包含5个特性的类ZYK001,创建分类和特性是为了使用,那么如何使用类呢?
必须要有对象,如果没有对象,那么类就只是一个抽象的概念,而不能具体化。
物料主数据在SAP系统是一个非常重要的主数据,不仅体现在业务上,也体现在系统功能上,从分类的功能范围出发,物料主数据就可以进行分类,可以将建好的类分配给物料主数据,而且可以将类类别001物料分类和类类别023批次分类同时分配给物料主数据,这样物料主数据既有了物料分类的特性,又有了批次分类的特性。
上面说过批次主数据是依赖于物料主数据而存在的,将批次分类分配给物料主数据的目的还是为了将类分配给此物料下的批次主数据,接下来把批次分类ZYK001分配给物料和批次。
4.3分配批次分类给物料主数据
物料主数据有“分类”视图,在该视图下为物料主数据分配分类,指定类类别和类名称ZYK001,
1)选择分类视图,
2)选择类类别023,
3)输入类ZYK001,
4) 保存。
给物料分配类后,在生成该物料的批次时,系统自动将类ZYK001分配给批次主数据,从而不用为每个批次主数据手工分配类,节省了大量时间。
每个物料在一个类类别下只能分配一个类,假如类类别下有类ZYK001和ZYK002,那么不能将ZYK001和ZYK002同时分配一个物料。
若不预先给物料分配批次分类,在收货时就无法给批次自动确定分类,系统给出消息:
这个消息说明在货物移动时要确定批次分类,可以在IMG后台配置中控制是否在货物移动时进行分类确定,路径:
SPRO->后勤-常规->批次管理->批次评估->评估库存管理中的货物移动->激活IM中货物移动的批分类。
4.4分配批次分类给批次主数据
可以为批次主数据自动分配分类,也可以手工分配。
自动分配的方式上面刚说了,就提前给物料分配批次分类,收货时批次自动确定分类。
根据业务需要,也可以手工为批次主数据分配分类。
事务代码:
MSC2N,输入物料和批次,在分类视图下输入类ZYK001,
点击右边的“创建分类”按钮,
可以继续为批次的特性输入特征值。
现在我得到一个具体的对象:
批次0000000517,这个对象属于分类ZYK001,并且这个对象的特性和特性值分别是:
特性
特性值
到寿日期
2013.05.30
收货日期
2012.04.17
我的数字
11
我的货币
120.00
特性与特性值存入表AUSP中,表MCH1与AUSP通过内部对象码(MCH1-CUOBJ_BM、AUSP-OBJEK)进行关联。
可用函数QC01_BATCH_VALUES_READ读取物料批次的特性和特性值。
注:
批次是否需要启用分类管理,视情况而定。
五、货架寿命、保质期
有些物资具有一定的保质期(比如食品、药品),根据企业的规定,已经过期的物资不得再收货入库,或者不允许领用出库、销售等,这类物资在SAP系统中可以通过货架寿命来进行管理。
通过下面两个步骤来要启用货架寿命管理:
物料主数据
物料主数据->工厂数据/存储1视图
总货架寿命:
可以输入,也可以不输入,这个值用来计算寿命到期日(失效日期)
最小剩余货架寿命:
如果总货架寿命输入了值,那么最小剩余货架寿命必须输入一个值,是指可以在货架(库房)中存放的距离寿命到期日最少的时间。
例如,牛奶在距离失效日期前5天就不允许再食用,超市库管员收到一批牛奶时,还有3天就要失效了,那么该库管员不允许将该批牛奶入库。
时间单位代表总货架寿命和最小剩余货架寿命对应的是天数,还是年数,还是月数。
货架寿命到期日检查
物料是否进行到期日检查可以从工厂和移动类型两个维度进行控制,IMG配置路径:
SPRO->后勤-常规->批次管理->货架寿命截止日期 (SLED)->设置到期日检查
或者,SPRO->物料管理->库存管理和实际库存->收货->设置到期日检查
工厂检查:
勾选要进行到期日检查的工厂
移动类型检查:
给进行到日期检查的移动类型选择检查方法
检查方法:
检查方法
入库是否检查到期日
出库是否检查到期日
空
否
是
1
是
是
2
否
是
3
否
否
设置好货架寿命后,收货时要求输入生产日期,系统计算出寿命到期日,寿命到期日也可以手工赋值。
最近的收货日期、生产日期、寿命到期日存入物料凭证表和批次表中。
其中最近的收货日期(也翻译成上一次收货日期)取凭证的过账日期。
货架寿命到期日检查原理如下图:
寿命到期日=生产日期(2012/12/1)+总货架寿命(10天)=2012/12/11
剩余货架寿命=寿命到期日(2012/12/11) - 收货日期(2012/12/8)=3天
3>2,目前剩余的货架寿命天数大于最小剩余货架寿命天数,所以允许入库。
上面讲述了收货对寿命到期日的检查,在“批次确定”小节继续出库时对寿命到期日的应用。
六、批次确定
随着企业的产品、原料的种类和数量不断增加,如何快捷的从这些众多的物品中找到满足相应条件的物品,成为企业越来越关注的问题。
那么如何使用SAP系统解决这个问题?
在使用批次管理的基础上,为每个批次定义属性,并制定对这些属性查找的规则,根据企业对不同批次的需求,按照相应的查找规则来查找满足条件的批次,这就是批次确定。
批次确定在IM、PP、SD、WM模块中都有应用,SAP系统中对于批次确定功能的系统配置路径是SPRO->后勤-常规->批次管理->批次确定和批次检查
在“批次确定和批次检查”下对IM、PP、SD、WM的应用都有对应的配置方法,下面以IM应用为例。
了解了批次分类和货架寿命的应用,接下来就在货架寿命的基础上继续批次确定,看一下IM如何实现FIFO(先进先出)或FXFO(X:
Expiration,先到期先出,我自己编的^_^)。
事例:
有一牛奶销售子公司,从牛奶厂获得奶产品,再负责对外销售或内部员工领用,大家都知道牛奶的保质期比较短,牛奶公司要从牛奶的失效日期和入库日期两个维度对牛奶进行严格管理,公司首先考虑失效日期的先后,其次考虑入库日期的先后。
库房里有几批牛奶,公司要求失效日期越靠前的先出库(FXFO),若失效日期一样,那么先到货的先出库(FIFO),即失效日期的优先级高于收货日期。
实现上述需求,在SAP系统需要用到条件技术、批次分类、货架寿命等功能,做过PO定价策略的朋友应该对条件技术不陌生,这里将用到查找策略。
若要通过条件技术的查找策略准确的查找到满足条件的批次,首先要为物料批次定义准确的特性和货架寿命。
第四章和第五章讲述了创建批次分类、为物料分配批次分类、创建并分配特性、寿命检查,在此不再赘述,直接看结果,假设牛奶在系统中有三个批次的库存,下图是通过BIC显示的库存结果:
本事例要通过货架寿命到期日和收货日期来查找批次,那么我就将货架寿命到期日和收货日期作为批次分类的特性,批次特性如下表所示:
批次分类
特性
说明
参考字段
ZYK_MILK_001
ZMM_MILK_SLED
货架寿命到期日
MCH1-VFDAT
ZMM_MILK_GRDATE
最近的收货日期
MCH1-LWEDT
根据事例的FXFO、FIFO出库要求,三个批次的出库顺序应该如下表所示:
顺序
物料
批次
寿命到期日
收货日期
1
580000002
0000000618
2012.05.14
2012.04.24
2
580000002
0000000620
2012.05.16
2012.04.25
3
580000002
0000000619
2012.05.16
2012.04.26
接下来就是通过条件技术的查找策略来实现上面的出库要求了。
涉及的系统设置包括:
条件表(ConditionTables)、访问队列(AccessSequences)、策略类型(StrategyTypes)、查找过程(SearchProcedure)、排序规则(SortRules)、选择类(SelectionClasses)、查找策略(SearchStrategy)。
1) 条件表ConditionTables
条件表是批次查找策略用到的字段的组合,系统提供了编号从000到500的标准的条件表,若要创建条件表,编号要从501开始。
用于批次查找的标准条件表如下:
000-009SD条件表
010-019WM条件表
020-029IM条件表
系统提供的字段有:
供应商、客户、工厂、库存地点、物料、物料类型、物料组、特殊库存、移动类型。
从这些字段中选取用作查找条件的字段组合成一个条件表,例如,移动类型/工厂,移动类型/工厂/物料,工厂/物料等。
030-039PP条件表
在这里,我选取移动类型、工厂、物料作为条件,那么可以使用条件表024。
2) 访问队列AccessSequences
也翻译为访问顺序,可以理解为按照一个什么顺序来访问哪些条件表。
系统提供了几个访问顺序,ME01如下图所示,依次访问条件表24、23、22、21、20,在查找批次时按照这个顺序直到找到满足条件的数据为止。
可以根据自己的需要在访问顺序中添加或删除要访问的条件表。
3) 排序规则SortRules
按照上面一堆的条件查找到批次后,可以定义一个排序的规则,用来建议用户优先选择哪个批次,此处通过批次的特性来对批次进行排序。
本事例考虑牛奶的到寿日期和到货日期两个特性,排序规则如下:
由于先考虑到寿日期,再考虑到货日期,所以特性ZMM_MILK_SLED放在上面;另外,这两个日期都是越靠前的越先出库,所以都选择升序进行排列。
下面要将排序规则分配给策略类型。
4) 选择类SelectionClasses
如果批次分类包含了10个8个特性,但是用于批次查找策略的就两个特性,那么可以新建一个分类,将这两个特性分配给新建的类,这个新建的类就是选择类。
在这个事例中批次分类就两个特性,所以我就直接把批次分类ZYK_MILK_001当做选择类,下面要将选择分配给策略类型。
5) 策略类型StrategyTypes
策略类型是一种查找批次的策略、规则,由访问队列(AccessSequences)、选择类(SelectionClasses)、排序规则(SortRules)组成,下图所示是这次创建的策略类型:
6) 查找过程SearchProcedure
查找过程是策略类型的组合,系统按照查找过程中的顺序读取每个策略类型,得到最后的结果。
定义查找过程后,要将查找过程分配给移动类型。
7) 查找策略SearchStrategy
系统中可能会存在多个策略类型、多个访问队列、多个查找过程,那么如何确定某个出库业务使用哪种策略类型、哪个访问队列、哪个查找过程呢?
这里要为每种业务分配一种查找策略,使用事务代码MBC1创建查找策略,
选中策略类型ZSTR,点击“关键字组合”按钮,系统根据分配给策略类型ZSTR的访问队列ME01,再根据分配给访问队列ME01的条件表得到关键字组合:
从中选择一个组合,例如选择“移动类型/工厂/物料”,
输入移动类型201、工厂9510、物料580000002,再指定选择标准,这里可以更改排序规则,保存。
这样,在出库时,如果满足“移动类型=201、工厂=9510、物料=580000002”,就会根据查找策略ZSTR来确定批次。
完成了上面的设置之后,按照移动类型=201、工厂=9510、物料=580000002的条件进行出库,这里使用事务代码MB1A,在批次字段输入*(如果是MIGO,点击 按钮),回车得到批次查找的结果如下图,结果满足本事例对牛奶的出库要求。
最后,批次查找原理可以总结为下图:
七、分割评估
Valuation,评估也翻译为估价,即计算价值,在这里指的是计算存货价值,SAP系统通过公式“存货价值=存货数量×价格”来计算存货价值,分割评估(SplitValuation)就是分别按照这个公式计算价值。
分割评估不是批次范畴的概念,而是针对物料价值来说的,按照批次分割评估是物料分割评估中的一种。
既然提到评估(valuation),就有必要了解一下跟评估有关的概念,评估涉及到评估级别(level)、评估范围(area)、评估类别(category)、评估类型(type)等内容。
评估级别level定义了是在公司级别评估还是在工厂级别评估。
评估范围area:
若评估级别选择了公司级,那么每个公司都是一个评估范围area;如果评估级别选择了工厂级,那么每个工厂就是一个评估范围。
评估类别cate