Enhancement spot 增强点

 

ENHANCEMENT-POINT是在程序中直接插入代码,其概念与BADIUSER_EXIT类似,标准程序预留了部分已定义好的增强点可以让ABAP做插入代码来实现这个增强(也可以自定义增强点,但不能自定义增强选项,增强选项一定是系统预留下来的,如果没有增强选项则该处不可做增强),但是不能做屏幕和菜单增强。

 

其最大的优势在于方便,可以使用程序中已定义的变量,不像BTEUSER_EXIT中只能使用函数接口传过来看参数。

 

 

一般增强步骤:

  1. DEBUG标准程序找到需要增强的位置,点EDIT->SHOW IMPLICIT ENHANCEMENT OPTIONS查看是否

有预留增强选项。(标准程序不能自己创建enhancement option ,只能使用系统预留的)

  1. 创建增强点实现

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

简单实例:

 


 

 

进入创建增强选项界面,输入增强点名及增强容器名(以Z开头),确认回车。

注:Enhancement Spot 就是se18中的Enhancement Spot

 


 

随后Editor上会多出一条语句,然后转到增强模式

 


 

 


 


 

执行结果

 


 

 

注:

  1. Enhancement Spot相当于一个容器,创建一个增强点的必要条件是要有一个容器。每个增强点(如ZENH_POINT01)都可以创建到这个容器当中,也可以再创建一个容器。删除这个容器的方法:在本地对象或它的包中删除或在SE18中删除,激活程序,退出再进。

 

  1. 对于ENHANCEMENT-SECTION, 定义和实现的方法与ENHANCEMENT-POINT一样。

两者的区别是:enhancement-point没有代码,只有一个预留点,允许在这个位置插入新代码(implementation).而nhancement-section和end-enhancement-section.之间有代码,implementation之后,替换旧代码,只执行新代码,原来的代码不再执行。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值