相比简单通用查询,通用查询具备更强的表间关联功能,支持多表联合查询,并且需要在ECC以上版本的环境中运行。在运行前,您必须在SAP系统中导入我们提供的ABAP函数模块。配置过程较为复杂,不再提供可视化表列选择界面,所有的字段和数据表都需要通过Open SQL语句手动编写实现。虽然灵活性更高,但对技术人员的SQL能力要求也相应提高。本文将以Java报表工具FineReport为例,详细介绍如何在该平台中配置并使用通用查询功能,以实现与SAP系统的高效数据对接,并满足复杂报表的数据提取需求。

在Function列表里选取通用查询(支持SAP6及以上版本),所示。

在一个简单的多表查询中,我们首先以KNAKNVV两个表为例进行演示。从KNA中提取NAMELAND段,并且需要确保NAME段不能为空值;同时,通过参数动态传入LAND筛选条件。在Open SQL与标准SQL之间存在一些语法上的差异,具体规范可以参考相关文档以了解。这个查询的操作结合了表连接、字段筛选以及参数化输入的基本功能。它适用于基础数据提取场景,是一个简单有效的工具。

列设置

在Open SQL中,读取字段时应使用表名和列名的方式,而不是直接用SQL语句中的列名。

表设置

使用 INNER JOIN ON 在Open SQL中连接两张表,FROM子句后语句表示为:连接依据特定关联条件的两张表。

设定条件

根据上述描述,where条件语句的内容应为:

完整的Open SQL语句如下所示

最终结果见下图

查看结果

点击预览按钮即可查看上述语句的执行结果,所示。

设置完成后的效果

完成设置后,点击确认并关闭SAP数据集窗口,此时数据集面板将出现名为SAP新数据集示例。

相关文章