历史版本9 :通用查询取数中的函数 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 描述编辑

FineReport 提供了 EXTRACT_TABLE_DATA 的源码及后续的数据集使用过程。

本篇对 EXTRACT_TABLE_DATA 的创建过程及出现的问题解决进行详细说明。

2. 操作步骤编辑

2.1 新建 abap function

新建abap function,命名为 EXTRACT_TABLE_DATA

点击Source code,将 EXTRACT_TABLE_DATA的源码 贴进去,如下图所示:

image.png

点击Tables表格tab,新增4个表:FIELDS /FROMCLAUSE /WHERECLAUSE /DATA,类型都为LIKE。

后面的结构类型按照文档源码,前三个输入ZSQL_CLAUSE_ELEMENTS,最后一个输入ZTABLEROW,如下图所示:

image.png

注:此时可能会报错:没有ZSQL_CLAUSE_ELEMENTS和ZTABLEROWS,先保存一下function

展开 ABAP 工作台,双击 ABAP Dictionary 字典,如下图所示:

image.png

选择第三个 data type,输入数据结构名称 ZSQL_CLAUSE_ELEMENTS,点击创建,如下图所示:

image.png

选中Structure结构,点击确定,如下图所示:

image.png

输入简称,增加一个数据元素TEXT,类型为 SO_TEXT,如下图所示:

image.png

同样的方法,我们创建 Structure 结构 ZTABLEROWS,增加一条数据元素,名字任意。如 ZTABLEROWS,数据元素 CHAR2000

image.png

保存这两个 structure,然后点击上方的结构树按钮,打开 Structure 所在包目录

image.png

展开 Structure 目录,就可以看到我们定义的那两个结构了,分别右击 > Activate 激活

image.png

回到EXTRACT_TABLE_DATA,重新点击左边的table表格tab,新加4个表,FIELDS /FROMCLAUSE /WHERECLAUSE /DATA 类型都为LIKE,后面的结构类型按照文档源码,前三个输入ZSQL_CLAUSE_ELEMENTS,最后一个输入ZTABLEROWS

2.2 保存检查

保存function,并且点击工具栏的check按钮进行语法检查

image.png

可能会报错,如下图所示:


则把 function 里面的 ZALBUS_STRUCT_WHERECLAUSE 都改成 ZSQL_CLAUSE_ELEMENTS

2.3 再次check

没有错误则表示 function 可以了,注意还需要设置函数可以远程访问

image.png

最后激活函数,完成设置。