【转载】abap程序实现Enhencement-Point增强

ENHANCEMENT-POINT是在程序中直接插入代码,其概念与BADI的USER_EXIT类似,标准程序预留了部分已定义好的增强点可以让ABAP做插入代码来实现这个增强(也可以自定义增强点,但不能自定义增强选项,增强选项一定是系统预留下来的,如果没有增强选项则该处不可做增强),但是不能做屏幕和菜单增强。其最大的优势在于方便,可以使用程序中已定义的变量,不像BTE和USER_EXIT中只能使用函数接口传过来看参数。point的意思就是在这里有一个点,在这个点的位置添加增强。point可以有多个implementation, 这东西相当于在标准程序里留了一个出口,你可以在ENHANCEMENT-POINT处写代码。一般代码写完了保存会在se19或se80下能找到。
示例:
第一步:在SE38中打开要增强的程序,在菜单上选择“Edit->Enhancement Operations->Show Implicit Enhancement Options”


第二步:此时在程序中会显示可以增强的地方,点击工具栏上的“Enhance”按钮


第三步:将光标放到你想增强的地方(一定要把光标定位在Enhencement-point那一行上),选择菜单上的“Edit->Enhancement Operations->Create Implementation”


第四步:在弹出窗口中Select or Create Enhancement Implementation,点新建按钮


第五步:在弹出的窗口中输入Enhancement Implementation、Short Text信息,然后点确认按钮


第六步:返回到Select or create Enhancement Implenmentation 界面,可以看到刚刚已创建的ZENH_POINT01被选中,点OK按钮。


第七步:可以看到刚添加的ZENH_POINT01,可以在*位置添加业务逻辑代码

第八步:点击Enhancements按钮,保存**