3
我必須根據where條件在我的內部表上執行一個循環,但根據我的程序的模式,where條件的字段必須在運行時修改。ABAP動態WHERE子句IN LOOP AT語句
我知道在一個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.
我的錯誤是:
Statement concluding with "...(LV_CONDI)" ended unexpectedly.
IIRC動態LOOP ... WHERE語句是ABAP的一個相當新的增加,並且只能在NetWeaver 7.31+中使用。你在什麼版本上? – Philipp
根據[this](http://help.sap.com/abapdocu_702/en/abaploop_at_itab_cond.htm)它應該是可能的。你到底有什麼樣的錯誤?它是編譯錯誤還是運行時錯誤。你能發佈它的細節嗎? – Jagger
我在我的錯誤@Jagger中寫道,菲利普我怎麼知道我的髮型? – shmoolki