如何使用动态 ABAP 程序生成技术,对 ABAP 系统标准的报表行为进行微调试读版

简介: 如何使用动态 ABAP 程序生成技术,对 ABAP 系统标准的报表行为进行微调试读版

本教程前面有一篇文章,我们介绍了如何使用外部传入的字符串,动态生成 ABAP 报表实例,并执行的方法:

我们可以看到在第 120 个例子里,我们使用硬编码拼接起来的字符串,来模拟外部传入的 ABAP 程序的代码源头。

笔者的知识星球里,有朋友提问,能不能从本地 ABAP 系统,提取某个标准 ABAP 程序的代码源,然后基于这些代码源进行微调,动态生成新的 ABAP 报表并执行呢?

这个需求理论上可行。

注意:实际使用时,确保对标准代码源的替换,一定要处于可控状态,以免给系统留下安全隐患。

下面是本解决方案详细的步骤。

我们先编写一个简单的 ABAP 报表,用于模拟 SAP 系统里标准的 ABAP 报表。

这个报表的内容,仍然围绕本教程之前介绍过的 ABAP 系统的注册表 TADIR 来展开:

源代码如下:

REPORT z.
DATA: lt_tadir TYPE TABLE OF tadir,
      ls_tadir TYPE tadir.
SELECT * INTO TABLE lt_tadir FROM tadir
   UP TO 3 ROWS
     WHERE pgmid = 'R3TR' AND object = 'PROG' AND author = sy-uname.
LOOP AT lt_tadir INTO ls_tadir.
  WRITE:/ ls_tadir-obj_name.
ENDLOOP.

这个报表的作用是,从注册表里,查询出当前执行报表用户创建的三个 ABAP 报表的名称。

报表在 SE38 里的名称为 ZST.

执行之后,打印三条输出记录:

假设我的需求是,执行报表后,打印的记录条目数,改成10条

下面是如何使用 ABAP 动态程序生成技术,实现的这个需求。

相关文章
|
1月前
|
Java C#
ABAP 7.40 新语法介绍系列之三 - ABAP Value 操作符试读版
ABAP 7.40 新语法介绍系列之三 - ABAP Value 操作符试读版
23 0
|
1月前
|
数据库
ABAP 泛型编程实战 - 分享一个数据库表内容的拷贝工具试读版
ABAP 泛型编程实战 - 分享一个数据库表内容的拷贝工具试读版
20 0
|
1月前
|
JSON 数据格式
第三方系统或者工具通过 HTTP 请求发送给 ABAP 系统的数据,应该如何解析试读版
第三方系统或者工具通过 HTTP 请求发送给 ABAP 系统的数据,应该如何解析试读版
27 0
|
24天前
|
数据库 存储 BI
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版
12 0
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版
|
24天前
|
数据库
迈入 SAP CDS View 世界的前置知识 - SAP ABAP 数据库视图介绍试读版
迈入 SAP CDS View 世界的前置知识 - SAP ABAP 数据库视图介绍试读版
10 0
迈入 SAP CDS View 世界的前置知识 - SAP ABAP 数据库视图介绍试读版
|
1月前
|
SQL Java 数据库
ABAP 7.40 新语法介绍系列之四 - ABAP Table Expression 内表表达式的用法试读版
ABAP 7.40 新语法介绍系列之四 - ABAP Table Expression 内表表达式的用法试读版
18 0
|
1月前
ABAP 7.40 新语法介绍系列之一 - ABAP 变量内联声明(Inline Declaration)试读版
ABAP 7.40 新语法介绍系列之一 - ABAP 变量内联声明(Inline Declaration)试读版
28 0
|
1月前
SAP ABAP ALV 的分组显示和 Subtotal 显示实现的技术步骤试读版
SAP ABAP ALV 的分组显示和 Subtotal 显示实现的技术步骤试读版
33 0
|
1月前
|
BI
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示试读版
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示试读版
15 0
|
1月前
|
BI 数据库
SAP ABAP ALV 报表单击某列后执行某段 ABAP 逻辑的实现方式 - hotspot 行为实现试读版
SAP ABAP ALV 报表单击某列后执行某段 ABAP 逻辑的实现方式 - hotspot 行为实现试读版
27 0

热门文章

最新文章