SAP_SD模块-销售批次策略应用记录

一、销售批次查找策略的重要性

        批次查找策略允许企业在销售过程中根据预定义的规则自动选择最适合的产品批次。这种策略的实施,对企业尤其是那些涉及到严格产品质量与安全标准的行业(如食品、药品及化工产品)具有以下几方面的重要意义:

  1. 确保产品质量与安全:通过有效的批次管理,企业能够确保发往市场的产品符合所有质量和安全要求,减少健康风险,符合法规要求。
  2. 优化库存与降低成本:合理的批次选择有助于实现先进先出等库存策略,有效减少过期产品,优化库存成本。
  3. 提高客户满意度:确保客户获得符合其具体要求(如新鲜度、保质期等)的产品,提升客户服务质量,增强客户忠诚度。
  4. 提升运营效率:自动化的批次查找减少了手动选择的需求,加快了订单处理速度,提高了整体业务效率。

批次管理的优化不仅关系到企业的内部运作效率,更直接影响到企业的品牌信誉和客户关系。因此,实施有效的批次查找策略是实现这些目标的关键步骤之一。

二、销售批次查找策略后台配置

         根据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等值

  1. 生产日期大于2023.6.1,并且不发CPU
  2. 排序顺序:按顺序,先发鼠标,再发键盘,最后发显示器
  3. 排序顺序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未清数量;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/6230.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[方法] Unity 实现仿《原神》第三人称跟随相机 v1.0

参考网址:【Unity中文课堂】RPG战斗系统Plus 在Unity游戏引擎中,实现类似《原神》的第三人称跟随相机并非易事,但幸运的是,Unity为我们提供了强大的工具集,其中Cinemachine插件便是实现这一目标的重要工具。Cinemachi…

从键入网址到网页显示,期间发生了什么?

从键入网址到网页显示,期间发生了什么? 孤单小弟【HTTP】真实地址查询【DNS】指南帮手【协议栈】可靠传输【TCP】远程定位【IP】两点传输【MAC】出口【网卡】送别者【交换机】出境大门【路由器】互相扒皮【服务器与客户端】相关问答 不少小伙伴在面试过程…

《21天学通C++》(第十五章)标准模板库简介

本章简单介绍STL容器、迭代器和算法的基本概念,之后几章会分别详述 1.STL容器 STL容器是STL中用于存储集合数据的组件,它们可以被看作是模板类,允许开发者定义特定类型的容器发,这里按照C11标准分为四类:顺序容器、关…

Qt5 框架学习及应用 — 对象树

Qt 对象树 对象树概念Qt为什么使用对象树 ?将对象挂到对象树上 对象树概念 对象树:对于树的概念,相信许多学过数据结构的同学应该都不会陌生。在学习数据结构的时候我们所接触的什么二叉树、多叉树、哈夫曼树、AVL树、再到红黑树、B/B树………

vue处理查询框清除后无法查询问题,举例为日期选择

例如 在对应的查询方法添加 //我这里获取的是date,如果是其他参数改为其他的即可 if (query.date && query.date.length > 2) {conditions.noedate query.date[0] || conditions.noedate;//获取开始时间conditions.twodate query.date[1] || conditi…

实验14 MVC

二、实验项目内容&#xff08;实验题目&#xff09; 编写代码&#xff0c;掌握MVC的用法。【参考课本 例1 】 三、源代码以及执行结果截图&#xff1a; example7_1.jsp&#xff1a; <% page contentType"text/html" %> <% page pageEncoding "ut…

PHP医院安全(不良)事件报告系统源码 vue2+element支持11大类不良事件上报、审核处理、分析改进

PHP医院安全&#xff08;不良&#xff09;事件报告系统源码 vue2element支持11大类不良事件上报、审核处理、分析改进 医院安全&#xff08;不良&#xff09;事件管理系统采用无责的、自愿的填报不良事件方式&#xff0c;有效地减轻医护人员的思想压力&#xff0c;实现以事件为…

某招聘网站搜索结果接口之acw_sc__v2逆向

上文链接 某招聘网站搜索结果接口逆向之webpack扣取 分析参数 acw_sc__v2 663449dacb63fbe529520fb21063cf354dbce1cf 既然在Cookie中那么需要借助Hook脚本 (function() {//严谨模式 检查所有错误use strict;var cookieTemp "";Object.defineProperty(document,…

springboot+websocket开发简单的在线群聊聊天web版本

springbootwebsocket开发简单的在线群聊聊天web版本&#xff01;近期在测试websocket插件的群聊功能。下面是一个简单的demo。分享给大家&#xff0c;亲测可以使用的。 1&#xff1a;首先是一个chat.html页面。代码如下&#xff1a; <!DOCTYPE html> <html lang"…

Linux学习之路 -- 文件 -- 文件操作

在学习C语言时&#xff0c;我们就学习过文件相关的内容&#xff0c;但是由于知识储备尚且不足&#xff0c;无法深入的了解文件&#xff0c;下面我们就要重新认识一下文件。 <1> 简单介绍(铺垫) 1.前面我们说过&#xff0c;文件 内容 属性&#xff0c;所以我们对文件的…

4.2_文本处理工具

## 1.grep ## grep [Globally search a Regular Expression and Print] &#xff08;1&#xff09;grep 格式 ##grep 格式## grep 匹配条件 处理文件 grep root passwd #过滤root关键字 grep -E egrep #扩展搜索 grep -i root passwd ##忽…

深度学习之基于Vgg16卷积神经网络印度交警手势识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 随着智能交通系统的发展&#xff0c;手势识别技术成为了一个关键组成部分&#xff0c;特别是在交通管…

基于SSM SpringBoot vue宾馆网上预订综合业务服务系统

基于SSM SpringBoot vue宾馆网上预订综合业务服务系统 系统功能 首页 图片轮播 宾馆信息 饮食美食 休闲娱乐 新闻资讯 论坛 留言板 登录注册 个人中心 后台管理 登录注册 个人中心 用户管理 客房登记管理 客房调整管理 休闲娱乐管理 类型信息管理 论坛管理 系统管理 新闻资讯…

ArrayList还是LinkedList?

引言 集合作为一种存储数据的容器&#xff0c;是我们日常开发中使用最频繁的对象类型之一。JDK为开发者提供了一系列的集合类型&#xff0c;这些集合类型使用不同的数据结构来实现。因此&#xff0c;不同的集合类型&#xff0c;使用场景也不同。 很多同学在面试的时候&#x…

多列列表OCX控件

VB6写的一个多列列表OCX控件源码&#xff0c;核心就是利用数组划分成多列数据&#xff0c;可装载亿条数据以上&#xff0c;控件引用了四个PictureBox控件分别作为:索引号显示&#xff0c;列表&#xff0c;垂直滚动条和横向滚动条&#xff0c;基本实现列表的添加、修改和删除等功…

文本嵌入的隐私风险:从嵌入向量重建原始文本的探索

随着大型语言模型&#xff08;LLMs&#xff09;的广泛应用&#xff0c;文本嵌入技术在语义相似性编码、搜索、聚类和分类等方面发挥着重要作用。然而&#xff0c;文本嵌入所蕴含的隐私风险尚未得到充分探讨。研究提出了一种控制生成的方法&#xff0c;通过迭代修正和重新嵌入文…

TCP 协议

TCP协议段格式 源/目的端口号&#xff1a;表示数据是从哪个进程来&#xff0c;到哪个进程去。 序号&#xff1a;发送数据的序号。 确认序号&#xff1a;应答报文的序号&#xff0c;用来回复发送方的。 4 位首部长度&#xff1a;一个 TCP 报头&#xff0c;长度是可变的&#xff…

简化Transformer模型,以更少的参数实现更快的训练速度

在深度学习领域&#xff0c;Transformer模型因其卓越的性能而广受欢迎&#xff0c;但其复杂的架构也带来了训练时间长和参数数量多的挑战。ETH Zurich的研究人员Bobby He和Thomas Hofmann在最新研究中提出了一种简化的Transformer模型&#xff0c;通过移除一些非必要的组件&…

【VueUse】超越基本功能的高级 Vue 元素操作

在vue开发中我们经常需要操作DOM元素&#xff0c;从简单的添加类到动态创建元素&#xff0c;这些操作都是不可避免的。而在VueUse库中&#xff0c;Elements相关API函数为我们提供了一系列强大而灵活的工具&#xff0c;帮助我们更轻松地处理DOM元素。无论是优雅地处理元素、动态…

JavaEE技术之MySql高级(索引、索引优化、sql实战、View视图、Mysql日志和锁、多版本并发控制)

文章目录 1. MySQL简介2. MySQL安装2.1 MySQL8新特性2.2 安装MySQL2.2.1 在docker中创建并启动MySQL容器&#xff1a;2.2.2 修改mysql密码2.2.3 重启mysql容器2.2.4 常见问题解决 2.3 字符集问题2.4 远程访问MySQL(用户与权限管理)2.4.0 远程连接问题1、防火墙2、账号不支持远程…