SAP 增强学习(1):一代增强 USER EXIT

简介: 程序:MV45AFZZ下面以创建销售订单(VA01)内的一代增强为例,当选择某些指定的销售订单的类型时,PO NUMBER变成必输项。。 介绍SAP的一代增强我称之为USER EXIT(用户出口),从字面上也很好理解,就是SAP在标准的程序中有预留了一些给用户后续增加新功能的出口USER EXIT。

程序:MV45AFZZ

下面以创建销售订单(VA01)内的一代增强为例,当选择某些指定的销售订单的类型时,PO NUMBER变成必输项。。

 

介绍
SAP的一代增强我称之为USER EXIT(用户出口),从字面上也很好理解,就是SAP在标准的程序中有预留了一些给用户后续增加新功能的出口USER EXIT。我们就在这些地方写代码来实现我们需要的功能。如下图,一代在程序中是以CALL CUSTOMER-FUNCTION+编号区别的。
image

而在SE37中通过EXIT_主程序名(这里是SAPMV45A)_编号(这里是002)来查询,如下图
image

然后就在INCLUDE内写代码就好了,需要注意的是一代增强相当于是在改SAP的标准程序,所以是会需要开发KEY的!
image

学习的步骤:
首先要使PO NUMBER变为必输项,必须要知道要在什么地方写增强,这就是写一代增强的第一步也是最难的一部。这里通过SPRO(后台配置)来找,在下图用户出口下的那些就是有可能是我们要写增强的地方了。
 image

通过查看描述来初步确定我们的需求是在哪个程序中的
image

也可以在开发类VMOD内直接查找,VMOD类下的包含内的程序都是上图中的那些增强的程序。是一样的。
image

根据描述找到我们需要些代码的程序名MV45AFZZ
在USEREXIT_SAVE_DOCUMENT_PREPARE(通过名字也可以看出是保存前的操作)内写代码
image

需要注意的是,写增强的时候最好是先加上类似上图的第一个IF语句,这样的话只有开发人员自己才会触发这个增强,其他的员工进行这个操作时并不会受到影响。这样不会导致自己在写这个增强的时候别人用不了这个程序或者相应的事务码。

 

学习心得:一代增强现在用的很少了,因为他的需求只能在固定的程序内去实现,意味着开发人员的工作量会很大,而且局限性也很大。比如说它只支持系统的标准的程序。有些需求如果系统开发人员本身也没考虑到的话也没法实现。

 

容易的地方: 写代码的逻辑、流程完全和写普通的程序类似。

 

难点:找增强点困难。

作者:ChasingWithWind
来源:CSDN
原文:https://blog.csdn.net/huanglin6/article/details/81353657
版权声明:本文为博主原创文章,转载请附上博文链接!

目录
相关文章
一些我整理的 SAP 工作和学习的有用链接,持续更新
一些我整理的 SAP 工作和学习的有用链接,持续更新
|
前端开发 API uml
SAP Commerce Cloud 里的 User 模型和 Restriction 的关系
SAP Commerce Cloud 里的 User 模型和 Restriction 的关系
|
Java 数据库 数据库管理
一个实际的例子学习 SAP BTP Java 应用的 @Before 注解使用方式
一个实际的例子学习 SAP BTP Java 应用的 @Before 注解使用方式
SAP UI5 Link 控件的使用方法介绍 - 后续学习 Fiori Elements Smart Link 的基础试读版
SAP UI5 Link 控件的使用方法介绍 - 后续学习 Fiori Elements Smart Link 的基础试读版
|
5月前
|
搜索推荐
关于 SAP ABAP 系统的 User parameter COM_IOITF_DEBUG
关于 SAP ABAP 系统的 User parameter COM_IOITF_DEBUG
|
12月前
|
监控 安全 搜索推荐
关于 SAP Commerce Cloud 本地安装用 root user 执行安装脚本的问题
关于 SAP Commerce Cloud 本地安装用 root user 执行安装脚本的问题
|
XML 开发框架 数据格式
SAP UI5 应用开发教程之五十七 - 基于 OData 注解的 Smart Field 使用方法学习试读版
SAP UI5 应用开发教程之五十七 - 基于 OData 注解的 Smart Field 使用方法学习试读版
SAP UI5 应用开发教程之五十七 - 基于 OData 注解的 Smart Field 使用方法学习试读版
|
12月前
|
存储 数据处理 数据库
关于 SAP CRM User Status 处理的示例 ABAP 代码
关于 SAP CRM User Status 处理的示例 ABAP 代码
|
12月前
|
Web App开发 开发者
关于 SAP UI5 学习教程示例代码里 Chrome 开发者工具 Console 面板里一些错误消息的说明试读版
关于 SAP UI5 学习教程示例代码里 Chrome 开发者工具 Console 面板里一些错误消息的说明试读版
|
12月前
|
数据库 UED
通过一个实例的例子,学习 SAP Fiori 应用中的 Draft Handling(草稿机制)试读版
通过一个实例的例子,学习 SAP Fiori 应用中的 Draft Handling(草稿机制)试读版

热门文章

最新文章

下一篇
无影云桌面