Loops 循环AT语句中的动态WHERE子句
我必须根据where条件在内部表上执行循环,但根据程序的模式,where条件的字段必须在运行时修改 我知道在SELECT语句中这是可能的,但是当我在循环中这样做时,我有一个错误 这是我的代码:Loops 循环AT语句中的动态WHERE子句,loops,dynamic,where-clause,abap,Loops,Dynamic,Where Clause,Abap,我必须根据where条件在内部表上执行循环,但根据程序的模式,where条件的字段必须在运行时修改 我知道在SELECT语句中这是可能的,但是当我在循环中这样做时,我有一个错误 这是我的代码: CASE gv_cdvue. WHEN 'L'. lv_condi = 'dcmdr GE gv_daybf OR dcmdr LE gv_daybf '. WHEN 'C'. lv_condi = 'dcldr GE gv_daybf OR dcldr LE gv_d
CASE gv_cdvue.
WHEN 'L'.
lv_condi = 'dcmdr GE gv_daybf OR dcmdr LE gv_daybf '.
WHEN 'C'.
lv_condi = 'dcldr GE gv_daybf OR dcldr LE gv_daybf '.
WHEN 'E'.
WHEN OTHERS.
ENDCASE.
LOOP AT gt_plcad INTO ls_plcad WHERE (lv_condi).
....
ENDLOOP.
我的错误是:
Statement concluding with "...(LV_CONDI)" ended unexpectedly.
由于您的SAP不兼容,因此出现错误。循环中的动态条件为ADD7.0EHP2版本。您应该高于7.0 Ehp2,然后只有您可以编写动态where条件
我希望这个答案能对您有所帮助。IIRC动态循环…其中语句是ABAP的一个新添加,仅在NetWeaver 7.31+中才可能使用。你现在是什么版本的?据我所知,这应该是可能的。你到底有什么样的错误?这是编译错误还是运行时错误。你能发布它的详细信息吗?我在我的错误中写道@Jagger,Philip我怎么能知道我的放松?@shmoolki请按照写的检查你的系统版本。我有:Noyau SAP:720_REL