ABAP Dynamic where语句与范围表

2020-09-24 20:45发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在构建一个动态的where语句(在share方法内),该语句可能具有0到N个子语句。 因此,我已对ABAP进行编码以填充范围表。 然后,我希望where语句引用顶级表中的行之一。

问题在于,动态位置出现错误"解析动态条目时发生错误"。 有什么想法如何编写动态的where语句,其中变量引用表的索引吗?

这是where语句:

((((((((@LR_WHERE [1]中的LOGDATE)和(@LR_WHERE [2]中的LOGDATE)和(@LR_WHERE [3]中的PLANT))

LR_Where是表类型/IWBEP/T_COD_SELECT_OPTIONS这是表类型

/IWBEP/S_COD_SELECT_OPTION,这是一个范围(符号,选项,低,高)。

任何帮助将不胜感激。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在构建一个动态的where语句(在share方法内),该语句可能具有0到N个子语句。 因此,我已对ABAP进行编码以填充范围表。 然后,我希望where语句引用顶级表中的行之一。

问题在于,动态位置出现错误"解析动态条目时发生错误"。 有什么想法如何编写动态的where语句,其中变量引用表的索引吗?

这是where语句:

((((((((@LR_WHERE [1]中的LOGDATE)和(@LR_WHERE [2]中的LOGDATE)和(@LR_WHERE [3]中的PLANT))

LR_Where是表类型/IWBEP/T_COD_SELECT_OPTIONS这是表类型

/IWBEP/S_COD_SELECT_OPTION,这是一个范围(符号,选项,低,高)。

任何帮助将不胜感激。

付费偷看设置
发送
7条回答
Nan4612
1楼 · 2020-09-24 21:02.采纳回答

您似乎无法在where语句中引用表的索引。 所以我最终不得不这样做:

(((((((@ LR_01中的LOGDATE)和(@ LR_02中的LOGDATE)以及(@ LR_03中的PLANT))

不理想,但是您必须做。

haha101010
2楼-- · 2020-09-24 21:19

所以我尝试了一个简化版本,这是我尝试过的版本。 提醒LR_where是范围表的表。

@LR_WHERE中的植物[3]

@LR_WHERE中的植物[3]

@(LR_WHERE [3])中的植物

@(LR_WHERE [3])中的工厂

@(LR_WHERE [3])中的工厂

我仍然收到"解析动态条目时发生错误。"

小灯塔
3楼-- · 2020-09-24 21:18

提示:首先将其静态写入以查看语法错误,然后将其转移到动态令牌中。

p>
Tong__Ming
4楼-- · 2020-09-24 21:12

请使用您的代码做一个很小的报告(当然,仅是相关部分),然后发布它,以便我们可以复制/粘贴并为您更正。

骆驼绵羊
5楼-- · 2020-09-24 20:56

1),您应该能够对所有这些条目使用单个子句,例如 如果LR_WHERE是范围表,则在@LR_WHERE中登录。

2)检查打开和关闭括号是否匹配

JNN

何必丶何苦呢
6楼-- · 2020-09-24 21:13

我在ABAP文档中找到了为什么不允许LOGDATE IN @(LR_WHERE [3])的引用(@(...称为宿主表达式):/p>

https://help.sap .com/http.svc/rc/abapdocu_752_index_htm/7.52/zh-CN/index.htm?file = abenopen_sql_host_expressions.htm

  • 主机表达式的操作数位置为以下读取位置:
  • SQL条件的右侧(LIKE和IN除外)。
bbpeas
7楼-- · 2020-09-24 20:59

打扰一下,但是您是否说过/IWBEP/T_COD_SELECT_OPTIONS是表类型,其线型是/IWBEP/S_COD_SELECT_OPTION,它是一个由4个组成部分SIGN组成的结构, 选项,低,高?

如果是,则必须将变量声明为/IWBEP/T_COD_SELECT_OPTIONS的表:

带有空密钥的/IWBEP/T_COD_SELECT_OPTIONS的数据LR_WHERE类型标准表。

以便您可以使用

登录日期@(LR_WHERE [1])

# p#

一周热门 更多>