相较于简单的通用查询,该查询方式具备更强的表间关联功能,支持多表联合查询,但要求系统版本必须在ECC6及以上。使用前需在SAP环境中部署由我方提供的ABAP函数模块。其配置过程较简单通用查询更为复杂,不再提供可视化选择表与字段的界面,所有表和字段的选择均需通过编写Open SQL语句来完成。本文将以Java平台下的自定义报表工具FineReport为例,详细说明该查询方式的实现方法与应用流程,帮助用户更好地掌握其配置与使用技巧。
1、 在Function列表里选择通用查询(支持SAP6及以上版本),所示。
2、 这里以多表查询为例,将KNA1与KNVV表进行关联,提取KNA1表中的NAME2和LAND1字段,以及KNVV表中的KUNNR字段。要求NAME2字段内容不能为空,同时通过参数动态传入LAND1的筛选条件。需注意Open SQL语句与标准SQL在语法格式上存在差异,具体可参考相关格式说明文档了解Open SQL的书写规范。实际编写时应遵循其特定规则以确保正确执行。
3、 列设置
4、 在Open SQL中,读取字段需采用表~列的格式,因此SELECT子句后应填写表名与列名以波浪线连接的形式。
5、 表设置
6、 通过 INNER JOIN ON 语法在 Open SQL 中连接两张表,FROM 子句后应填写如下语句:将主表与关联表通过共同字段进行内连接,确保数据匹配。
7、 设定条件
8、 根据上述描述,where条件语句中应填写的内容为:
9、 完整的Open SQL语句如下所示:
10、 最终结果见下图
11、 查看结果
12、 点击预览按钮即可查看上方语句的执行结果,所示。
13、 设置完成后的效果
14、 完成设置后,点击确认并关闭SAP数据集窗口,此时数据集面板中将新增一个名为SAP3的数据集,具体所示。
