SAP ERP系统SD模块常用增强之一:VA01/VA02创建或修改SO的输入检查
在SAP/ERP项目的实施中销售管理模块(SD)的创建和修改销售订单必定会有输入字段校验检查的需求,来防止业务人员录入错误或少录入数据,SAP公司也考虑到这一点,所以这方面的配置功能也非常强大,通常情况下不需要写开发代码,业务顾问通过配置不完整日志就可以非常容易实现大部分需求,但是在实际项目中还是会遇到一些特殊的需求,不能通过配置实现,需要进行增强开发。
下面通过一个项目案例来介绍下如何通过增强实现销售订单创建和修改的字段输入的合规性检查。
业务需求如下:
某公司销售模块的业务要求:销售组织为S010在创建ZPE类型的销售订单时候,如果销售订单行项目类型为Z001时,要求检查销售订单行项目的订单号必须输入(如下图说明)。

类似上面这样的复杂的业务需求,就无法通过不完全日志的配置来实现,只能通过增强开发实现。
下面详细介绍下实施步骤:
增强点:
USEREXIT_SAVE_DOCUMENT_PREPARE,此增强用户出口主要用来对销售订单保存前的各字段的约束条件的检查。
实施方法:使用隐式增强方法,隐式增强点位如下:

备注:如何查找隐式增强点不是本文重点,后续专题文章介绍。
详细具体实施步骤:
上面找到隐方增强点后,继续按如下步骤操作:

点击螺旋图标后,会显示创建图表(如下)



备注:如果需要传输的,必须选择包,如果自己的学习系统,不需要传输的,包可以选择$TMP或点击本地对象保存即可。

备注:SO行项目数据被保存在内表XVBAP,可以从此内表读取到维护的行项目值。
上面位置写上增强代码后点击保存->激活。这个增强需求的实施步骤就全部完成了。
增强代码如下:
IF VBAK-VKORG = 'S010' AND VBAK-AUART = 'ZPE'.LOOP AT XVBAP.IF XVBAP-PSTYV = 'Z001' . IF XVBAP-AUFNR IS INITIAL AND XVBAP-UPDKZ <> 'D'. MESSAGE '订单号必须输入!' TYPE 'E' DISPLAY LIKE 'E'. ENDIF. ENDIF.ENDLOOP.
ENDIF.
备注:XVBAP-UPDKZ = ‘D’ 表示删除行,XVBAP-UPDKZ =’ I '表示插入行。VA01/VA02创建SO时候,当行项目维护多条数据后,删除其中的一条或者多条,被删除的行项目依在内表XVBAP中,如果没有增加这XVBAP-UPDKZ<>'D’的条件,会发现一个现象:未删除的行项目满足字段必输的条件了,系统依然给出提示:“订单号必须输入!”
实际实施效果如下图:

当上面VA01创建订单时候,如果满足销售组织S010,订单类型:ZPE,类别:Z001 时候,SO保存时候,系统报错提示。
往期相关文章荐读:
[1.SAP软件MM模块项目实施中常用增强之一:采订单收货后不能修改价格]
(https://mp.weixin.qq.com/s/LenIYYbpa_oIQYG44FunKg)
2.SAP软件MM模块项目实施中常用增强之二:MB51报表增加字段
3.SAP软件MM模块项目实施中常用增强之三:采购订单的屏幕增强
4.SAP软件FICO模块常用增强之一:固定资产的屏幕增强
5.SAP软件如何在物料主数据上增加字段
6.通过一个例子介绍SAPSmartform的应用及其技术细节和要点
相关文章:
SAP ERP系统SD模块常用增强之一:VA01/VA02创建或修改SO的输入检查
在SAP/ERP项目的实施中销售管理模块(SD)的创建和修改销售订单必定会有输入字段校验检查的需求,来防止业务人员录入错误或少录入数据,SAP公司也考虑到这一点,所以这方面的配置功能也非常强大,通常情况下不需…...
深度学习知识补充
候选位置(proposal) RCNN 什么时ROI? 在图像处理领域,感兴趣区域(region of interest , ROI) 是从图像中选择的一个图像区域,这个区域是你的图像分析所关注的重点。圈定该区域以便进行进一步处理。使用ROI圈定你想读的目标&…...
Vue笔记(1)——数据代理与绑定
一、初始Vue 1.想让Vue工作,就必须创建一个Vue实例,且要传入一个配置对象; 2.root容器里的代码依然符合html规范,只不过混入了一些特殊的Vue语法; 3.root容器里的代码被称为【Vue模板】; 4.Vue实例和容器是…...
LeetCode题目笔记——2563. 统计公平数对的数目
文章目录题目描述题目链接题目难度——中等方法一:排序双指针代码/Python代码/C方法二代码/Python总结题目描述 这是前天周赛的第二题。 统计公平数对的数目 - 给你一个下标从 0 开始、长度为 n 的整数数组 nums ,和两个整数 lower 和 upper ,…...
【MySQL Shell】8.9.5 将集群重新加入到 InnoDB ClusterSet
如果 InnoDB 集群是 InnoDB ClusterSet 部署的一部分,MySQL Shell 会在重新启动后立即自动将其恢复到拓扑中的角色,前提是其运行正常且未被标记为无效。但是,如果集群被标记为无效或其 ClusterSet 复制通道已停止,则必须使用 clus…...
元素水平垂直居中的方法有哪些?如果元素不定宽高呢?
实现元素水平垂直居中的方式: 利用定位margin:auto利用定位margin:负值利用定位transformtable布局flex布局grid布局 1-利用定位margin:auto <style>.father{width:500px;height:300px;border:1px solid #0a3b98;position: relative;}.son{width:100px;heig…...
访问学者在新加坡访学生活日常花销大吗?
新加坡地理位置优越,社会发达,教学质量好,吸引不少国内学生前往新加坡留学、访学。那么,去新加坡访学,访问学者花销需要多少钱呢?下面和51访学网小编一起来了解一下吧。 一、饮食 新加坡的饮食从很亲民的…...
XCP实战系列介绍11-几个常用的XCP命令解析
本文框架 1.概述2. 常用命令解析2.1 CONNECT连接(0xFF)2.2 SHORT_UPLOAD 命令(0xF4)2.2 SET_MTA (0xF6)2.3 MOVE命令(0x19)2.4 GET_CAL_PAGE(0xEA)2.5 SET_CAL_PAGE(0xEB)2.6 DOWNLOAD(0xF0)1.概述 在文章《看了就会的XCP协议介绍》中详细介绍了XCP的协议,在《XCP实战系列介绍…...
全志V853芯片 如何在Tina V85x平台切换sensor?
目的 V85x某方案目前默认Sensor是GC2053。实际使用时若需要用到GC4663(比如wdr功能)和SC530AI(支持500W),可按如下步骤完成切换。 步骤 下面以GC4663为例,SC530AI按相应方式适配。 Step1 检查Sensor驱动…...
2023全网最火的接口自动化测试,一看就会
目录 接口自动化测试用例设计Excel接口测试用例访问MySQL接口测试用例访问PyTest测试框架接口自动化测试必备技能-HTTP协议request库实现接口请求 引言 与UI相比,接口一旦研发完成,通常变更或重构的频率和幅度相对较小。因此做接口自动化的性价比更高&…...
华为OD机试真题JAVA实现【最小传递延迟】真题+解题思路+代码(20222023)
🔥系列专栏 华为OD机试(JAVA)真题目录汇总华为OD机试(Python)真题目录汇总华为OD机试(C++)真题目录汇总华为OD机试(JavaScript)真题目录汇总文章目录 🔥系列专栏题目输入输出示例一输入输出说明解题思路核心知识点Code运行结果版权说...
Transformer
Transformer由4部分组成,分别是:输入模块、编码模块、解码模块、输出模块整体架构图:一、输入模块结构 (1)源文本嵌入层及其位置编码器(2)目标文本嵌入层及其位置编码器二、编码器模块结构由N个…...
并发包工具之 批量处理任务 CompletionService(异步)、CompletableFuture(回调)
文章目录一、处理异步任务并获取返回值——CompletionService二、线程池三、Callable 与 Future四、通过回调方式处理可组合编排任务——CompletableFuture一、处理异步任务并获取返回值——CompletionService 特点描述: 对于比较复杂的计算,把…...
验收测试分类
α测试 Alpha 是内测版本,即现在所说的CB。 此版本表示该软件仅仅是一个初步完成品, 通常只在软件开发者内部交流, 也有很少一部分发布给专业测试人员。 一般而言, 该版本软件的bug 较多, 普通用户最好不要安装。 β测试 Beta是公测版本,是对所有用户…...
因新硬件支持内核问题Ubuntu 22.04.2推迟发布
导读Ubuntu 22.04.2 LTS 原定于 2 月 9 日发布。但 Canonical 宣布该版本因各种问题不得不推迟两周,定于 2 月 23 日发布。 Ubuntu 22.04.2 LTS 原定于 2 月 9 日发布。但 Canonical 宣布该版本因各种问题不得不推迟两周,定于 2 月 23 日发布。 Canonica…...
agent扩展-自定义外部加载路径
自定义classLoader实现加载外部jar, 以skywalking agent 类加载器为例子 整体思路 扩展findClass ,解决loadClass可以查找到扩展findResource,解决getResources可以获取到资源 基本原理 ClassLoader loadClass的加载顺序 findLoadedClass 加载本地已经…...
Elasticsearch使用篇 - 指标聚合
指标聚合 指标聚合从聚合文档中提取出指标进行计算。可以从文档的字段或者使用脚本方式进行提取。 聚合统计可以同时返回明细数据,可以分页查询,可以返回总数量。 可以结合查询条件,限制数据范围,结合倒排索引列式存储。 指标…...
Python生命周期及内存管理
文章目录 一、Python的生命周期 1、概念2、如何监听生命周期二、内存管理 1.存储2.垃圾回收3.引用计数一、生命周期: 1、概念:一个对象从创建到消亡的过程 当一个对象呗创建是,会在内存中分配响应的内存空间进行存储 当这个对象不再使…...
Elasticsearch7.8.0版本进阶——数据写流程
目录一、数据写流程概述二、数据写流程步骤2.1、数据写流程图2.2、数据写流程步骤(新建索引和删除文档所需要的步骤顺序)2.3、数据写流程的请求参数一、数据写流程概述 新建、删除索引和新建、删除文档的请求都是写操作, 必须在主分片上面完…...
化学试剂Glutaric Acid-PEG-Glutaric Acid,GA-PEG-GA,戊二酸-聚乙二醇-戊二酸
一:产品描述 1、名称 英文:Glutaric Acid-PEG-Glutaric Acid,GA-PEG-GA 中文:戊二酸-聚乙二醇-戊二酸 2、CAS编号:N/A 3、所属分类:Carboxylic acid PEG 4、分子量:可定制, 戊…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...
软件工程 期末复习
瀑布模型:计划 螺旋模型:风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合:模块内部功能紧密 模块之间依赖程度小 高内聚:指的是一个模块内部的功能应该紧密相关。换句话说,一个模块应当只实现单一的功能…...
