将 SAP 查询参数转换为 EXECQUERY 命令

说明查询的参数如何转换为 EXECQUERY 命令文本。 本主题使用自定义 SAP 查询的示例,ZQUERY_TST_NEW。

在 SAP GUI 中打开查询

执行以下步骤,在 SAP 中打开查询。 此处提供的步骤适用于ZQUERY_TST_NEW查询,特定于 SAP 版本。

  1. 运行事务 SQ01。

  2. 在“ 从用户组查询 ”页中,单击“ 快速查看器”。

  3. “快速查看器 ”页的“ 快速视图 ”文本框中,键入 ZQUERY_TST_NEW,然后单击“ 显示”。

  4. “快速查看器 ”页中,单击“ 选择字段 ”选项卡以列出查询中的所有参数。

    下图显示了查询定义中的所有参数。

    SAP 查询sap_query_param_types的参数列表

  5. 单击“执行” 。 将显示以下页面。

    为 SAP 查询提供参数值

  6. 单击黄色箭头以定义每个参数。 可以定义特定的允许/不允许值,也可以定义允许/不允许的值范围。 必须基于 SAP GUI 中为每个参数配置的值指定 EXECQUERY 语法。

    下一部分介绍如何在 SAP GUI 中定义值,以及如何将这些值转换为 EXECQUERY 语法。

构建 EXECQUERY 语法

让我们根据查询定义中定义的参数值来了解 EXECQUERY 语法的外观。 为了了解这一点,我们将展示为第一个参数( 两位数)配置的值如何转换为 ZQUERY_TST_NEW 查询的示例。

首先,假设“ 单一 vals ”选项卡中 (具有绿点) 的值已定义,如以下屏幕截图所示:

查询可以采用的参数值列表

注意

单击 两位数参数 的黄色箭头后,将显示此对话框。

在这种情况下,EXECQUERY 语法如下所示:

EXECQUERY ZQUERY_TST_NEW @USERGROUP='mygroup', @P1 = '2', @P1 = '3', @P1 = '5'  

对于同一查询,除了“ 单一 vals ”选项卡中的值 (带有绿点) 外,还可以将“ 单一 vals ”选项卡中的值 (红点) 定义如下:

查询无法获取的参数值列表

在这种情况下,EXECQUERY 语法如下所示:

EXECQUERY ZQUERY_TST_NEW @USERGROUP='mygroup', @P1 = '2', @P1 = '3', @P1 = '5', NOT @P1 = '6', NOT @P1 = '8'  

现在,如果向“ 范围 ”选项卡添加值, () 绿点,如以下屏幕截图所示:

查询可以采用的参数值范围

EXECQUERY 语法如下所示:

EXECQUERY ZQUERY_TST_NEW @USERGROUP='mygroup', @P1 = '2', @P1 = '3', @P1 = '5', NOT @P1 = '6', NOT @P1 = '8', @P1 BETWEEN '2' and '5'  

同样,如果将值添加到“ 范围 ”选项卡, () 红点,如以下屏幕截图所示:

查询不能采用 的参数值范围

EXECQUERY 语法如下所示:

EXECQUERY ZQUERY_TST_NEW @USERGROUP='mygroup', @P1 = '2', @P1 = '3', @P1 = '5', NOT @P1 = '6', NOT @P1 = '8', @P1 BETWEEN '2' and '5', NOT @P1 BETWEEN '6' AND '8'  

为简单起见和理解,本主题只讨论第一个参数 ,即两位数。 可以使用类似的方法来确定为其他参数定义的值如何转换为 EXECQUERY 语法。