ABAP 增强Enhancement的小总结

一,基于源码增强。

这些FORM大都存储于倒数第二个字符为Z的包含程序中,比如SAPMV50A的包含程序MV50AFZ1,里面的FORM一般为userexit开头,我们可以找到对应的FORM,然后在里面写增强。

二,基于出口函数增强。

通过SMOD和CMOD维护。我们可以在程序中查找CALL CUSTOMER-FUNCTION 然后后面有跟着三个数字的。它的出口函数可以通过SE37:  EXIT_程序名(不是INCLUDE,是主程序)_三位数字  找到。然后根据出口函数到MODSAP表中查找对应的增强点。使用SMOD查看这个增强点的明细。增强屏幕的调用是使用CALL CUSTOMER-SUBSCREEN。

TFDIR表存储了所有函数的信息 包括出口函数,MAND字段为C标识该函数是激活状态。

三,基于类的增强(BADI)。

通过SE18和SE19来进行维护。在主程序中查找CL_EXITHANDLER=>GET_INSTANCE,EXIT_NAME就是要找的BADI,可以通过SE18查看。也可以在调试过程中输入SE24,CL_EXITHANDLER=>GET_INSTANCE,通过类的调试找到EXIT_NAME。

命名规则:

Badi definition: Z<badi>

Interface: ZIF_EX_<badi>

BADI implementation:Z<impl>

Implementing class:ZCL_IM_<impl>

BADI的信息存储在SXS_INTER,SXC_EXIT,SXC_CLASS,SXC_ATTR.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值