头图

本教程之前和增强(Enhancement)相关的文章:

迄今为止,这些文章都没有触碰到 ABAP 类的增强方法。本文就来弥补这个空缺。对 ABAP 类的某个方法,通过增强(Enhancement)的方式,实现自己的自定义逻辑,也是笔者在实际工作中,经常使用的一种方法。

为了保证每一位学习者在自己的系统都能够动手练习,我手动创建了一个自定义类,用来模拟标准的 ABAP 类。然后我们再对这个类的方法进行增强。

大家首先在自己的系统里,创建一个 ABAP 类,起名 ZCL_TADIR_TOOL. 这个类包含一个静态方法 GET_OBJECTS, 作用是根据输入参数 iv_user_name 传入的用户名,查询这个用户在 SAP ABAP 注册表 TADIR 里对应的前 5 条记录。记录通过输出参数 ET_OBJECTS 返回给调用者。

请大家按照上图的方法定义,在自己的系统,完成 ABAP 类和方法的创建。

TADIR 这张注册表,笔者在之前的文章介绍过:

ABAP 静态方法和实例方法的辨析,可以复习之前的文章:

方法实现体就一行语句:

SELECT * APPENDING TABLE et_objects FROM tadir UP TO 5 ROWS WHERE author = iv_user_name.

F8 执行这个方法,点击执行按钮:

然后给参数 iv_user_name 输入一个用户名,执行:

执行完毕后,确保输出参数能够看到 5 条记录:

这五条记录长这样的:

下面)我们开始使用 Pre-ExitPost-Exit 的增强技术,给这个静态方法添加自定义逻辑。


注销
1k 声望1.6k 粉丝

invalid