打开SQL动态Where条件错误

2020-09-27 16:17发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)晕, 以下打开的SQL语句...

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

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


晕,

以下打开的SQL语句给出了运行时错误。

通话功能'CRS_CREATE_WHERE_CONDITION'
     桌子
       ti_range = lt_range
       to_cond = lt_condition
     例外情况
       invalid_input = 1
       其他= 2。


   选择选项卡1〜fld1
          tab1〜fld2
         
          tab2〜fldA
          tab3〜fld
   从tab1
     内部联接选项卡2开启
       tab1〜fld4 = tab2〜fld6 AND
       tab1〜fld5 = tab2〜fld7
     内联接选项卡3开启
       tab3〜guid = tab2〜guid
   进入表lt_result
   在哪里(lt_condition)。
 

现在where条件是类型为 mcondition 的内部表,其内部类型为CHAR 72。

lt_range 将使用以下值列表填充

 tab2 fldA I EQ <值1>
 tab2 fldA I EQ <值2> 

执行select语句转储的动态where条件时。

系统中处理了以下错误文本:
 列名" FLDA"不明确。

 SELECT子句是在运行时在内部表中指定的。 字段名" FLDA"出现在FROM子句的几个数据库表中。 因此,字段名称不是唯一的。
 

相同的选择查询在Q系统中效果很好。我已经检查了SP级别和版本。 一切都在同一水平上。 该错误发生在开发和生产中。

但是,如果我将lt_condition表替换为以下条目,则在dev中工作正常

(tab2〜FLDA =" VAL1"或tab2〜FLDA =" VAL1)

我不确定为什么它会在Dev和Prod中转储。 需要一些帮助来理解以上几点。 我可以继续使用上面提到的条件替换lt_condition。

谢谢

Pavan