点击此处---> 群内免费提供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
该错误对我来说似乎很简单。 这表明字段FLDA仅出现在QA中的表tab2中,但在其他系统中,它也出现在tab1或tab3中。 比较表。
问题的第二部分,是的,明确指定表名始终是个好习惯,尤其是在动态代码中。
一周热门 更多>