15.Enhancements
增强类型:Implicit Enhancement Options;Explicit enhancement options;
通过Edit → Enhancement Operations → Show Implicit Enhancement Operations,可以看到隐式增强。
ENHANCEMENT-POINT:定义源代码增强位置;
ENHANCEMENT-SECTION:将ABAP程序的一部分定义为增强选项,可以用一个或多个源代码插件代替;
语法:
ENHANCEMENT-POINT enh_id SPOTS spot1 spot2 ... [STATIC] [INCLUDE BOUND].
语法:
ENHANCEMENT-SECTION enh_id SPOTS spot1 spot2 ...
[STATIC]
[INCLUDE
BOUND].
END-ENHANCEMENT-SECTION.
这些语句将当前程序的一部分转换为显式增强选项,因此该部分可以被源代码增强替换。
语法:
ENHANCEMENT id.
...
ENDENHANCEMENT.
可以在语句之间实现源代码增强。
使用BAdIs增强。
语法:
GET BADI { badi
[FILTERS f1 = x1 f2 = x2 ...] }
| { badi TYPE (name)
[
{FILTERS f1 = x1 f2 = x2 ...}
|
{FILTER-TABLE ftab}] }
[CONTEXT
con].
生成一个BAdI对象作为对象插件的句柄。
语法:
CALL BADI { badi->meth parameter_list }
| { badi->(meth_name) {parameter_list |parameter_tables} }.
调用BADI方法。