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、分子量:可定制, 戊…...
手把手教你用Python实现双足机器人ZMP预观控制(附开源代码)
用Python实现双足机器人ZMP预观控制的完整指南 1. ZMP理论基础与机器人动力学模型 零力矩点(ZMP)理论是现代双足机器人步态规划的核心概念,它定义了地面反作用力合力作用点的位置。当ZMP位于支撑多边形(由机器人足底接触点构成的凸多边形)内时,机器人能保…...
智鼎在线测评通关秘籍:2024最新51job题库实战解析与避坑指南
智鼎在线测评通关秘籍:2024最新51job题库实战解析与避坑指南 在竞争激烈的求职市场中,智鼎在线测评已成为众多知名企业筛选人才的第一道门槛。据统计,2024年使用智鼎测评系统的企业数量同比增长35%,而通过率却不足40%。这份指南将…...
3个步骤,让OpenWRT路由器秒变智能应用中心:iStore完全指南
3个步骤,让OpenWRT路由器秒变智能应用中心:iStore完全指南 【免费下载链接】istore 一个 Openwrt 标准的软件中心,纯脚本实现,只依赖Openwrt标准组件。支持其它固件开发者集成到自己的固件里面。更方便入门用户搜索安装插件。The …...
工业协议通信开发实战:lib60870开源库完全指南
工业协议通信开发实战:lib60870开源库完全指南 【免费下载链接】lib60870 Official repository for lib60870 an implementation of the IEC 60870-5-101/104 protocol 项目地址: https://gitcode.com/gh_mirrors/li/lib60870 在工业自动化领域,设…...
OpenClaw+Qwen3.5-9B:3步搭建自动化内容审核系统
OpenClawQwen3.5-9B:3步搭建自动化内容审核系统 1. 为什么选择OpenClaw做内容审核? 去年运营一个技术社区时,我每天要花2小时手动审核用户提交的内容。直到发现OpenClaw这个开源自动化框架,配合Qwen3.5-9B的多模态能力ÿ…...
一、硬件接线与配置
自动配料控制系统 S7-200SMART 与组态王6.55联机程序 COM3串口通讯 带运行效果视频 IO表 和 PLC接线图CAD 老规矩先看IO表——配料系统核心是4路称重传感器2台变频器控制下料速度。PLC的EM AE04模块接0-10V称重信号,EM DR32数字量模块控制接触器和报警灯。CAD接线图…...
KV260实战:从PYNQ安装到跑通第一个AI例程,手把手带你玩转边缘AI开发板
KV260边缘AI开发实战:从PYNQ部署到图像分类全流程指南 当你第一次拿到KV260开发板时,可能会被它小巧的外表所迷惑——这块巴掌大的开发板实际上搭载了赛灵思的Kria K26 SOM系统模块,内含可编程逻辑和四核ARM Cortex-A53处理器,专为…...
nli-distilroberta-base完整指南:Web服务接口设计+返回格式解析
nli-distilroberta-base完整指南:Web服务接口设计返回格式解析 1. 项目概述 nli-distilroberta-base是一个基于DistilRoBERTa模型的自然语言推理(NLI)Web服务,专门用于分析两个句子之间的逻辑关系。这个轻量级但强大的模型能够快速判断句子对之间的三种…...
Linux文件操作命令与文件权限
1.创建一个新文件2.查看显示文件3.more命令类似 cat,不过会以一页一页的形式显示4.head命令显示文件的头部内容5.tail命令可用于查看文件的内容的后10行6.文件的压缩与解压7.tar命令用来建立8.zip命令用于压缩文件9.unzip命令用于解压缩zip文件10.文件属性...
OpenClaw+nanobot镜像:3步配置QQ聊天机器人触发AI任务
OpenClawnanobot镜像:3步配置QQ聊天机器人触发AI任务 1. 为什么选择OpenClawnanobot组合? 去年冬天,当我第一次尝试用QQ机器人自动处理群消息时,经历了漫长的环境配置地狱。直到发现星图平台的nanobot镜像,这个开箱即…...
