本教程之前和增强(Enhancement)相关的文章:
- 62. 如何通过增强(Enhancement) 的方式给 SAP ABAP 标准程序增添新功能
- 62 番外篇:如何通过增强(Enhancement)的方式,给 ABAP Function Module 增添新的功能
- 73. 如何手动通过增强的方式,给 SAP ABAP 数据库表增添新的字段
- 122. SAP ABAP 各种增强技术(Enhancement)概述 - 所谓第一代,第二代,第三代增强技术的出处是?
- 123. SAP ABAP 显式增强技术之 New BAdI 的技术原理介绍
- 124. SAP ABAP 显式增强技术之 New BAdI 的实战介绍 - 如何创建和激活增强实现
迄今为止,这些文章都没有触碰到 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-Exit
和 Post-Exit
的增强技术,给这个静态方法添加自定义逻辑。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。