找SAP增强点一直都是SAP开发的重点难点,增强开发的代码一般不会很多,但是需要花费比较多的时间在查找增强点上

网上也流传了很多查找SAP增强的方法:

1.利用TCODE寻找增强

2.利用系统函数寻找

3.从程序代码中查找

4.针对BADI的增强

5.通过SPRO后台配置相关模块的菜单查找

这些方法都有一个缺点,就是难以判断这个增强点是否能够满足需求,不知道具体运行时会传入传出些什么数据,都是静态的。

接下来和大家分享一种我在开发时常用的一种方法。

一般增强开发的需求都是我们在做操作时做一些检查或某些效果,所以我们可以再操作前再命令栏打 /h 然后执行操作进入调试界面。

image

断点->创建断点,输入如下命令,就会在调用该命令的地方创建断点。CALL CUSTOMER-FUNCTION 和 CALL BADI就是调用二代增强和BADI增强的命令。

image            image

然后就可以F8查看程序中会调用的各个增强点了,并且可以再动态运行时查看各个参数中的值,确定这个增强点是否有合适的传入传出参数,判断能否满足需求。

image

然后对选择的增强点再做一些简单的测试就可以了。

使用这个方法能在程序运行时找到大部分的增强点,并且能够知道动态运行时的传入传出参数的值,效率比使用之前提到的静态查找的方法高出不少。