本教程目前的文章,包括 ALV 系列的讲解,使用的 ABAP 报表,其数据源要么来自 SAP 系统本身的数据库,要么是本地文本文件或者 JSON 文件,要么是报表里硬编码的数据。
本文介绍如何给 ABAP 报表添加用户输入的功能,即允许用户手动指定一些字段的值,这些字段会作为输入数据,读取到 ABAP 报表中,并参与报表内编写的业务逻辑。
下面是一个实际的例子。
SE16 打开数据库表 TADIR,这算是一张 SAP 系统里所有对象的 注册表
。换言之,我们在 SAPGUI 里创建的绝大多数开发对象时,都会自动写入一条记录到这张数据库表里。
每种不同的开发对象,通过字段 OBJECT
的不同值来区分。比如前一篇文章面向对象的 ABAP 编程初探 - 什么是类,实例,和 Public 方法介绍的 ABAP 类,在 TADIR 里的 OBJECT 字段为 CLAS
,而我们平时在 SE38 里开发的 ABAP 报表,类型为 PROG
.
上图我们还指定了 AUTHOR = WANGJER 的查询条件,WANGJER 就是我登录 SAPGUI 时使用的用户名。在文章ABAP 编程语言中的系统字段(System Fields)里曾经介绍过