一、销售批次查找策略的重要性
批次查找策略允许企业在销售过程中根据预定义的规则自动选择最适合的产品批次。这种策略的实施,对企业尤其是那些涉及到严格产品质量与安全标准的行业(如食品、药品及化工产品)具有以下几方面的重要意义:
- 确保产品质量与安全:通过有效的批次管理,企业能够确保发往市场的产品符合所有质量和安全要求,减少健康风险,符合法规要求。
- 优化库存与降低成本:合理的批次选择有助于实现先进先出等库存策略,有效减少过期产品,优化库存成本。
- 提高客户满意度:确保客户获得符合其具体要求(如新鲜度、保质期等)的产品,提升客户服务质量,增强客户忠诚度。
- 提升运营效率:自动化的批次查找减少了手动选择的需求,加快了订单处理速度,提高了整体业务效率。
批次管理的优化不仅关系到企业的内部运作效率,更直接影响到企业的品牌信誉和客户关系。因此,实施有效的批次查找策略是实现这些目标的关键步骤之一。
二、销售批次查找策略后台配置
根据SAP后勤不同模块的使用需求,批次策略可以通过不同的配置点来进行配置使用,路径如下所示:物流 - 常规—>批次管理—>批次确定和批次检查
一般情况下,包含五种使用场景:(由于目前批次策略的功能使用得不多,研究得不是很深入,下面这部分仅仅是我使用过的应用场景)
库存管理:MM模块,可用于MIGO操作发货时,根据策略自动带出来需要发货的批次;
生产订单:PP模块-生产订单,可用于生产订单报工时(CO11/CO11N),根据策略自动带出来组件物料的批次(反冲料部分)
处理订单:PP模块-流程订单,可用于订单报工时(COR6/COR6N),根据策略自动带出来组件物料的批次(反冲料部分)
销售与分销:销售模块,可用于创建销售订单时,自动在销售订单上带出来发货批次,也可以用于创建交货单时,自动在交货单上带出来批次;
仓库管理:WMS模块,可用于上架和下架时,根据策略自动带出来批次
本篇文章主要讲解销售与分销的批次策略,并用实际的例子讲解说明具体的使用,
1、定义条件表(下面以销售机构作为条件表)
物流 - 常规—>批次管理—>批次确定和批次检查—>条件表—>定义销售和分销条件表
条件表,存储具体条件值的地方,后台只是定义和设置条件表的结构,条件表中的记录是在前台创建的, (这里主要是指批次查找策略用到的字段组合)
2、定义销售和分销访问顺序
物流 - 常规—>批次管理—>批次确定和批次检查—>访问队列 —>定义销售和分销访问顺序
访问顺序: 也就是存储顺序,一个存储顺序可对应多个表。存储顺序将分配给策略类型。 对一系列条件表设置存取顺序,按照优先级,找到条件记录后,后面的没有执行完的不再执行。
3、定义销售和分销策略类型(也就是条件类型)
物流 - 常规—>批次管理—>批次确定和批次检查—>策略类型 —>定义销售和分销策略类型
策略类型是一种查找批次的策略,它由策略存取顺序、特性分类、排序规则等组成。这意味着在定义批次查找策略时,需要考虑如何按照一定的顺序访问和处理这些策略,以及如何根据特定的特性或规则来分类和排序这些策略。
这里的字段比较多,也比较核心,了解这里的配置原理对于后续批次策略的方案设计有很大帮助,在本文后面,我会举例讲解这些字段的用法,此处先简单说一下几个核心的内容;
分类:主要是用于控制批次选择的条件(譬如控制批次只选入库日期大于2024年的部分)
排序顺序:主要用于批次选择时,如果批次策略查找的条件有多个时,按照优先级,先找第一个,找不到了再找第二个(前提是要先满足分类中的维护的条件数据)
!!!备注1:一般情况下,如果不需要对物料的批次进行限制,分类这里可以不维护,不影响批次查找策略的使用
!!!备注2:批次查找策略,真正生效的是排序顺序中维护的字段,假如说以物料的入库日期为例,那么物料在入库时,批次的信息就需要带上“入库日期”这个字段内容(MCHA表),很显然,这个字段系统本身就已经存在,所以不需要做额外的配置。
4、维护特征(CT04)
特征字段,在这里的批次查找策略配置中起到了什么作用呢?可以简单理解为,就是批次查找的逻辑,是根据这些特征值来进行筛选和排序的。
(1)“有效日期”特征
这里采用的是货架寿命到期日这个字段,定义为“有效日期”,作为批次查找的其中一个依据。
(2)“生产日期”特征
5、维护分类(CL02)
6、维护排序规则
CU70:创建排序规则
CU71:变更排序规则
CU72:显示排序规则
7、批次查找程序定义
物流 - 常规—>批次管理—>批次确定和批次检查—>批次查找程序定义 —>定义销售和分销查找过程
查找过程是策略类型的组合,通过定义查找过程,可以指定系统按照何种顺序读取每个策略类型,并最终得到结果。这一步骤确保了在面对多个可能的批次策略时,系统能够有效地选择并应用最合适的策略。
与访问顺序的配置点类似,系统按照配置的优先级,在找到对应步骤的条件类型时(策略类型),就不会继续执行下去
8、批次查找程序分配和检查激活
物流 - 常规—>批次管理—>批次确定和批次检查—>批次查找程序分配和检查激活—>分配 SD 查找过程/激活检查
根据不同的销售范围,分配对应的搜索过程(对于MM模块的库存管理,就不是根据销售范围来分配了,而是根据移动类型来分配)
Check Batch(检查批次)表示当你手动输入一个批次时, 检查输入的批次是否满足搜索标准。
不满足会提示一个 Warning 消息。
9、激活 SD 中的自动批决定
物流 - 常规—>批次管理—>批次确定和批次检查—>激活 SD 中的自动批决定
(1)激活销售订单项目类别的自动批次确定
启用销售项目类别的自动批确定时,创建销售订单时可以手动点击批次确定,此时会自动带出来批次
点击左上角的复制按钮,即可为销售订单指定了对应的发货批次,后续VL01N创建交货单时,默认带出来这个指定的批次;
备注:这里发现有一些不明的Bug,当我把后台配置中,“激活销售订单项目类别的自动批次确定”取消后,前台操作销售订单仍然能带出来批次
(2)激活交货项目类别的自动批次确定
与销售订单批次策略的区别在于,不需要手动点击批次确定按钮,VL01N创建交货单时,会自动带出来批次;
10、系统配置完成,前台操作维护批次查找策略:
VCH1,为了方便,根据销售组织维护批次查找策略
至此,销售批次策略的配置点已全部完成,下面,我会列举一些附加的例子,让你们更好的理解这个批次策略的功能和应用场景;
注意,这里物料入库的批次分类,为ZBATCH03,与前面批次策略维护的那个ZBATCH不是同一个东西(简单理解为,批次策略是根据ZYXRQ有效日期和ZSCRQ生产日期这两个字段来进行排序的,那么只要物料的批次库存中,批次信息带有这两个字段,系统即可按照逻辑匹配出合适的批次出来)
三、附加1_批次策略影响测试
1、交货单不管是否需要拣配,批次策略维护正确后,都可以自动带出来(如下图是不需要拣配的情况,批次带出来后直接过账即可,不需要重新拣配)
交货单是否需要拣配的配置点:
2、当物料不启用可用性检查时,批次策略仍然生效(而且测试后发现,系统带出来的批次,只会是MB52有库存的批次,这个时候,如果不马上发货过账,系统仍然有库存,那么建立下一个交货单的时候,仍然会带出来这个批次,直到库存消耗掉才会带出新批次)
注意:所以需要注意,这种没做可用性检查的业务,需要创建交货单后马上过账
四:附加2_批次策略配置说明
Selection 和 Sort sequence :“选择”和 “排序” 里面设置的是默认的搜索特性和排序特性.
SAP的建议是,建议设置三种 Strategy types (策略类型):
(1)以生命周期作为搜索标准的策略;
(2)以收货日期作为搜索标准的策略;
(3)不分配默认的搜索特性,而是在条件记录中指定(前台操作) 。
“选择栏位”的实现方法是以特征值来表示的,比如特性值的属性值,Batch 生产日期>2024.01.01,那么系统只会把满足条件的 Batchs 搜索出来,
“排序栏位”也是特征值的形式,比如按收货日期作升序排序,那么系统会搜索出来的 Batchs再按照日期作升序排序。
“选择”和 “排序”的特性必须分配给 Batch Match Record 类,否则无效。(也就是前面例子所说的,MSC2N看批次主数据时,对应的特征值字段要匹配关联上,如“有效日期”和“生产日期”字段,如果在批次分类中不存在,那么批次策略不会生效)
Batch Splits:批次分割
a. No.of splits:分割的数量。数量决定了满足目标数量需要最多多少个批次,如果该数量下的批次总数还不能满足的话,系统不会自动去分配下一个批次。
b. Changes allowed,分割的数量是否可以被更改。在上述不能满足的情况下,可以手动去增加或减少分割的数量。
c. OverDel allowed,分割后,总数量是否可以超过目标数量。
不选择的话,系统会提示一个 Warning信息。
Quantity Proposal:数量建议
a. Display UoM:度量单位的显示选择,A是表示物料的基本单位,B 是表示凭证中输入的单位。
b. Dialog batch determin.批次决定是否以对话模式的形式, 还是后台自己建议执行。
c. Qty Proposal:这是一段小程序,在条件技术里面经常遇到,这里表示系统是按照什么样的逻辑来执行数量上的分配建
议。比如,系统可以指定被选择出的 Batch有多少数量被用来满足本次移动的目标数量。
Presentation:这里需要 ABAP关于屏幕和菜单开发的知识。
a. Screen number:初始的屏幕。
b. Status:初始菜单
举例解释说明字段:
1、批拆分编号:维护1时,指最多只能拆分1个批次(同理,输入数量5,那么最多拆分5个批次等等)
(1)不维护时
(2)维护成1时
正常情况下,销售订单数量150,应该是用批次P24050001的100,加上P24050002的50才对,但是由于“批拆分编号”,设置了1,也就是最多只能拆分一个批次,那么系统就根据策略,带出了P24050001的批次,但是数量只满足到100,还差50数量当成是未清项,不会自动带第二个批次出来了。
2、选择中的分类(选择标准)
(1)正常测试MIGO,点击库存确定按钮;
系统自动带出来物料所有批次(此时批分段编号设为最大的999,选择标准里面的内容为空)
可以看到,系统目前只会显示有效日期大于等于8月1日的数据了。另外几个批次的数据已经消失
五、附加3_实际应用案例_如何根据文本字段进行排序(非日期字段)
需求:分类字段中有一个叫“配置”的特征值,只允许录入鼠标、键盘、显示器、CPU等值
- 生产日期大于2023.6.1,并且不发CPU
- 排序顺序:按顺序,先发鼠标,再发键盘,最后发显示器
- 排序顺序2:按生产日期,先进先出
实现方式:
1、维护特征:CT04
(1)ZPZ:配置
需要维护特征值限制内容,并且给对应的文本字段编号,用于后面排序(注意:按照业务需求,哪些需要先发,哪些需要后发的,编号需要提前编写好,用于后面排序时可以通过升序或者降序的方式读取)
(2)ZSCRQ:生产日期
2、维护分类:CL02
3、创建物料,并把分类分配给物料
4、MBC1/MBC2维护批次搜索策略:(也可以通过后台配置默认值带出,此处不修改后台配置,紧从前台执行修改)
电脑配置,排除04 CPU的选项(批次策略不取值为CPU的批次)
5、正常执行业务,MIGO收货,产生对应的批次库存,并且批次分类需要维护好对应的值内容
6、测试MIGO发货-其他-移动类型201,查看批次搜索策略结果
系统库存有5个批次,其中符合要求的仅有两个批次,如下图所示;(导致需求数量为120时,仍有40个数量属于未清)
点击复制后,系统会按照批次策略的数量带到行项目里面去,从而会发现,原本要发120PC的,现在总数量变成了50+30 = 80了;
附加测试:手动更改选择标准的内容,把限制条件全部去掉后,再查看结果,如下图所示:可以发现,系统的5个批次库存都显示出来了,并且特征排序,是先读取ZPZ这个特征值,按照01鼠标、02键盘、03显示器、04CPU来排序的(至于第二个排序的字段,当第一个特征字段没值时才会生效,此处不演示)
通过修改批分段编号,修改为,3,再测试可以发现,批次拆分最多只会拆成3行,如下图所示;从而导致还有20PC未清数量;