将 SAP 查询参数转换为 EXECQUERY 命令
说明查询的参数如何转换为 EXECQUERY 命令文本。 本主题使用自定义 SAP 查询的示例,ZQUERY_TST_NEW。
在 SAP GUI 中打开查询
执行以下步骤,在 SAP 中打开查询。 此处提供的步骤适用于ZQUERY_TST_NEW查询,特定于 SAP 版本。
运行事务 SQ01。
在“ 从用户组查询 ”页中,单击“ 快速查看器”。
在 “快速查看器 ”页的“ 快速视图 ”文本框中,键入
ZQUERY_TST_NEW
,然后单击“ 显示”。在 “快速查看器 ”页中,单击“ 选择字段 ”选项卡以列出查询中的所有参数。
下图显示了查询定义中的所有参数。
单击“执行” 。 将显示以下页面。
单击黄色箭头以定义每个参数。 可以定义特定的允许/不允许值,也可以定义允许/不允许的值范围。 必须基于 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 语法。