ABAP 随笔 SAP 增强点查找小记

作者:SAPTAB 约 6 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, 开发
ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图

原创 Tab Zhu [ SAP TAB ](javascript:void\(0\);)

**点击蓝字关注我们**

富强 民主 文明 和谐

自由 平等 公正 法制

爱国 敬业 诚信 友善

_**01** _

**SAP增强点查找**

**不念过** **去**

**START**

**不畏将来**

SAP 查找增强的方法

** 1\. SE30 运行时间分析评估,找到EXIT_*开头的函数-可以查到CMOD增强点 **

然后去 MODSAP 表中查找:

我们可以在 SE30 中运行 MM02 ,随便输入一个物料,稍微改点东西,然后保存退出,

得到运行时间分析报表:

ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图

得到 function : EXIT_SAPLMGMU_001

ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图

然后 SE16N 中 MODSAP 查询:

ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图

然后这个增强就是 MM01 MM02 在创建物料时额外增强的校验增强点。

可以去事务码 CMOD 增强。

**2. 在function:MODX_FUNCTION_ACTIVE_CHECK 打断点 **

在函数的最后一行打个断点,再运行 TCODE 的,如果有增强则会跳入 DEBUG 界面,在 DEBUG 界面中,查看 L_FUNCNAME

字段对应的值,此值就是就是要找的出口

还是用 MM02 做演示:

首先在 SE37 中进入 MODX_FUNCTION_ACTIVE_CHECK 在最后一行打个断点

ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图

然后执行 MM02 ,修改保存时,若是有增强点就会触发 debug

再去 SE11 中通过 MODSAP 来查看出口对就是那个 SMOD ,

接下来就可以在 CMOD 中创建增强组了,把找到的增强填入,

最后根据实际的业务进行处理。

ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图

** 3\. 找BADI的方法: ** ** 类对象CL_EXITHANDLER **

先运行 SE24 ,查看类对象 CL_EXITHANDLER, 在其方法:在 GET_INSTANCE 的 14 行( CALL

METHOD CL_EXITHANDLER=>GET_CLASS_NAME_BY_INTERFACE )打上一个断点。
ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图

接下来运行事务代码,当有 BADI 是将会被执行,这时在 DEBUG 模式下,会进入类 CL_EXITHANDLER 的

GET_INSTANCE 方法,按 F6 执行这个方法之后,

点参数 EXIT_NAME 查看其对应的值,所有的方法实现都在此类对象中,此时就是我们所要找的 BADI 。

我们以事务码 ME22N 为例:

执行 ME22N :进入 debug 模式

双击 EXIT_NAME 参数可以看到 BADI 的名称,然后我们可以去 SE18 里面查看,这个 BADI 大致是做什么的 (增强点和

BADI 名称都可以查询一下)

ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图

由此可以得知这个 ME_PO_PRICING 增强点是增强 PO 价格确定的。

ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图

若是这个不是你所需要的增强可以在 DEBUG 界面按 F8 让程序继续进行,遇到 BADI 又会进入 DEBUG 界面。

** 4\. 通过开发类找出口 **

以 ME21N 事务代码为例,进入 TCODE 后,选择点系统 \- 》状态 \- 》程序名称,双击后进入到程序中,再点菜单栏中的 转到

\- 》属性,找到开发类的名称,比如 ME21N 的开发类是‘ ME ’。

ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图

如果是找出口,则到 SMOD 事务代码中,点 加强边的按纽,在开发类中输入‘ ME ’,回车后就会显示出所有的出口。

打开 SMOD :

ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图

找 BADI 也是同样的过程,只是到 SE18 中去确定 BADI

ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图

不过此方法找出来的出口,不是针对某个程序的出口,而是把开发类所对应的出口全找出口,所以

还要通过自己的判断找到所需求的出口

**

**

**5. 根据SPRO配置说明或者modification等查找: **

其实使用中发现任何一个增强方法的查找都是不全面的, SAP

系统十分复杂繁琐,增强方式也有很多。一般性的增强我们都可以先百度一下,说不定一起出来的还有例子,这应该是最快一种方法。

第五点是根据 SPRO 配置点附近增强说明去查找:这个个人觉得是最有头绪的,有理有据的。

举个例子:

我们进入 SPRO-> 销售与分销 -> 系统调整 -> 用户出口 -> 销售中的 UserExit-> 销售凭证处理的 UserExit

点击

ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图

就可以查看出口说明(此处需要英文阅读)

ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图

然后我们点击执行按钮或者运行 SE38

ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图

输入 MV45AFZZ 点击查看

ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图

以上两个较为常用,对于 SD 的增强来说

你会看到好多增强点,挑选一个适用的 OK 了。可能有不能确定的,业务顾问需要和开发顾问相互配合测试一下。

**不念过** **去**

**END**

**不畏将来**

ABAP 随笔 SAP 增强点查找小记 - 封面图
ABAP 随笔 SAP 增强点查找小记 - 封面图

**SAP ABAP TAB**

微信号 : TAB_JXZHU

后台回复'ABAP'免费领取学习资料

长按二维码关注我们

SAPTAB

关于作者:SAPTAB

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「ABAP随笔SAP增强点查找小记.md」整理生成,仅用于内部技术分享与学习交流。