SAP Batch Derivation功能初探 I
在很多行业里,存在这样的业务场景:生产部门的生产,主要分2大块。第一块是生产出半成品,第二块是将半成品包装成成品用于销售给客户。在一些行业里,成品的批次号跟所包装的半成品批次号是有关系的,比如二者成品号相同,这样比较方便业务人员识别与追溯,并在在这些行业里,成品的生产日期/有效期等关键属性也跟对应的半成品的批次属性保持一致。在这些行业的企业实施SAP项目的时候,对于这个场景需要SAP系统能提供解决方案。
在很多跨国企业的中国工厂里,主要就是分包装从总部生产好的半成品,毕竟中国的人力资源丰富,人力成本比较低。跨国企业为了保住核心技术,核心的半成品的生产不放在海外工厂进行,海外工厂只负责对生产好的半成品分包装成成品,然后在本地市场销售。所以在这些企业的SAP推广项目中,也经常会有这种业务场景和需求。
实际上,SAP提供了标准的Batch Derivation功能,能很好的实现这种半成品批次号/生产日期/有效期等属性到成品批次上的自动传递或者派生。笔者所在的项目上,就启用了Batch Derivation功能,这引起了笔者的强烈关注和兴趣,所以笔者打算花些时间来研究研究。
透过现象看本质,我们从表象入手。这里我们以批次号的从半成品到成品派生为例,看看这个功能的效果。
1,我们有如下的成品料号ZFG0003的BOM结构,
假定该成品就是由半成品料号ZSFG003和包装物料ZPACK0001包装后生成的。
我们为该成品创建好了工单3000028117,业务人员指定了该工单需要消耗的半成品的批次号是FY9F,如下图。
2,COR2 下达这个工单,系统出现如下的‘Result of Derivation’小窗口,
系统提示说:Derivation carried out successfully,并且可以看到成品的批次也将是FY9F。回车,
系统提示Release carried out,然后保存这个工单。
执行COR3看这个工单,
该成品的批次号也被确定是FY9F, 跟其半成品批次号一致。这个效果就是通过SAP系统的batchderivation来实现的。
3,为了实现这个功能,我们需要维护2个Batch Derivation相关的Condition Record主数据。如下图示:
这2个主数据分别是Batch Derivation SenderCondition Records和Batch Derivation Receiver ConditionRecords.
3.1, Batch Derivation Sender ConditionRecords.
事务代码DVS1/2/3分别用于创建,修改和显示这个主数据。这里使用DVS3去显示一下本例中的sender condition record主数据。
事务代码DVS3, conditiontype BDS1,
Sender里维护的物料是半成品,作为批次属性的发送方。当然项目上在Exit1栏位里设置了标记,做了增强,支持特殊需求。
3.2,BatchDerivation Receiver Condition Record.
事务代码DVR1/2/3分别用于创建修改和显示Receiver ConditionRecord. 这里我们看看本例中的数据。执行事务代码DVR3,conditiontype BDR1,
Receiver里维护的物料是成品料号,作为批次属性的接收方。当然项目上在Exit1栏位里设置了标记,做了增强,支持特殊需求。
-完-
2021-2-7 写于苏州市。