动态 WHERE 子句 IN LOOP AT 语句

shm*_*lki 4 abap loops dynamic where-clause

我必须根据 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_daybf   '.
  WHEN 'E'.
  WHEN OTHERS.


ENDCASE.


  LOOP AT gt_plcad INTO ls_plcad  WHERE (lv_condi).
    ....
  ENDLOOP.
Run Code Online (Sandbox Code Playgroud)

我的错误是:

Statement concluding with "...(LV_CONDI)" ended unexpectedly.
Run Code Online (Sandbox Code Playgroud)

Ani*_*lla 5

由于 SAP 不兼容,您会收到错误消息。循环中动态where条件添加7.0 EhP2版本。你应该高于 7.0 Ehp2 然后才可以编写动态 where 条件。

我希望这个答案对您有所帮助。