【ABAP系列】【第六篇】SAP ABAP7.50 之隐式增强
时间: 2023-10-06 18:12:36 浏览: 69
在SAP ABAP 7.50版本中,引入了一种新的增强方式——隐式增强。与显示增强不同,隐式增强不需要修改原始代码,而是通过继承方式来进行增强。
隐式增强的实现步骤如下:
1. 创建一个子类,继承需要增强的类。
2. 在子类中定义方法,并使用 SUPER-> 方法名的方式调用父类中的相应方法。
3. 在子类中重载需要增强的方法,并在其中实现增强逻辑。
下面举一个例子说明隐式增强的具体实现过程。
假设有一个需要增强的类 CL_MY_CLASS,其中有一个方法 DO_SOMETHING,现在需要在该方法中增加一些逻辑。具体实现过程如下:
1. 创建一个子类 CL_MY_CLASS_IMP,继承 CL_MY_CLASS。
2. 在子类中定义方法 DO_SOMETHING,并使用 SUPER->DO_SOMETHING 的方式调用父类方法。
3. 在子类中重载 DO_SOMETHING 方法,并在其中实现增强逻辑。
示例代码如下:
```
CLASS cl_my_class DEFINITION.
PUBLIC SECTION.
METHODS:
do_something.
ENDCLASS.
CLASS cl_my_class IMPLEMENTATION.
METHOD do_something.
" 原有逻辑
ENDMETHOD.
ENDCLASS.
CLASS cl_my_class_imp DEFINITION INHERITING FROM cl_my_class.
PUBLIC SECTION.
METHODS:
do_something REDEFINITION.
ENDCLASS.
CLASS cl_my_class_imp IMPLEMENTATION.
METHOD do_something.
" 新增逻辑
SUPER->do_something( ).
" 原有逻辑
ENDMETHOD.
ENDCLASS.
```
在上面的代码中,我们创建了一个子类 CL_MY_CLASS_IMP,继承了需要增强的类 CL_MY_CLASS。然后在子类中重载了 DO_SOMETHING 方法,并在其中实现了新增的逻辑。在重载的方法中,我们使用了 SUPER->DO_SOMETHING 的方式调用了父类中的方法,以保留原有的逻辑。
通过隐式增强的方式,我们无需修改原始代码,就可以实现对原有类的增强,降低了代码维护的成本。同时,隐式增强也避免了在原有代码中添加大量的 IF EXIST 语句的情况,使得代码更加清晰易懂。