sap abap初体验5之增强

5 增强

5.1 定义

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5.2 第一代

这些Form集中存储在一些文件名倒数第二个字符为Z的包含程序中(如后面销售凭证主程序SAPMV45A中的MV45ATZZ、MV45AOZZ等Include文件)

这些Form的名称一般是以UserExit_打头的子模块,所以一般找到所要增强的主程序,再查找UserExit_ 关键字即可找到相关的出口

Form源代码增强事先要到 service marketplace 申请对象键(ACCESS KEY),然后才能修改这些子程序,另外,可以在SPRO中搜索 USER EXIT关键字来查找
在这里插入图片描述

子程序中,user开头的
在这里插入图片描述

5.3 第二代

在这里插入图片描述

在SAP发布的版本中,使用CALL CUSTOMER-FUNCTION <3位数字>调用函数模块的,所以你可以通过在程序中查找cusomer-function来查找增强,出口函数名称由三部分组成:EXIT_<程序名>_<3位数字>(注:这里的<程序名>即指调用此出口函数的程序名),这样你就可以找到对应的增强函数了

针对数据表的增强出口是 “CI_ ”打头的结构,这些结构将.INCLUDE 结构的形式包含到时相应的数据表中,用户可以通过向这些结构中添加字段从而达到对数据表字段的增加

查找Enhancement的方法:

1、 在程序中搜索CUSTOMER-FUNCTION找到后面的3位数字编号,出口函数名的规则为EXIT_<程序名>_<3位数字>,然后通过找到的出口函数名到MODSAP表里查找所对应的出口对象(即增强点)

2、 通过调试系统相关函数:MODX_FUNCTION_ACTIVE_CHECK

3、 代码找增强

以VA01对应的主程序SAPMV45A为例,在源码中可以查找包含CALL CUSTOMER-FUNCTION的字符串,可以找到这样的代码:

在这里插入图片描述
根据出口所对应的函数名规则,这个函数名为EXIT_SAPMV45A_910

5.3.1 SMOD维护激活,CMOD最终实现激活

用SMOD(激活增强,只需一次激活)和CMOD(实现增强)维护;
在这里插入图片描述

5.3.1.1 MODSAP表,存的是增强总信息

在这里插入图片描述

功能增强:例如字段校验、字段之间日期校验等
屏幕增强:例如销售订单附加数据等
表增强:append和include
GUI增强:增加个功能操作按钮

屏幕增强和表增强是相互关联的。

例如RMVKONOO这个增强,包含两个E的和一个T的:
在这里插入图片描述

5.3.1.2 TFDIR表,主要是存E功能的,MAND字段为C表示激活

在这里插入图片描述

5.3.2 第二种方法,通过一些函数,主要是查增强的

在这里插入图片描述

例如函数:MODX_FUNCTION_ACTIVE_CHECK
1.设断点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值