我在LT_FIELDS. 我正在嘗試以特定格式連接該內部表中的資料,并將其附加到LT_WHERE動態選擇查詢中。
下面是我寫的片段:
TYPES: BEGIN OF ty_whr,
fieldname TYPE string,
END OF ty_whr.
DATA(lt_fields) = VALUE rsds_frange_t( ).
DATA(lt_where) = REDUCE ty_whr(
INIT whereclause = VALUE ty_whr( )
FOR <fields> IN lt_fields
NEXT whereclause =
COND #( WHEN whereclause IS NOT INITIAL
THEN <fields>-fieldname && | IN | && |@| && <fields>-fieldname && | AND |
ELSE <fields>-fieldname && | IN | && |@| && <fields>-fieldname
) ).
我在連接部分收到此錯誤:
String calculation not permitted here
這里的語法錯誤嗎?
uj5u.com熱心網友回復:
建構式運算式的語法訊息有點奇怪。
實際上,問題是由于目標 ( whereclause) 是一個結構,您不能將文本文字分配給結構,而應將其分配給它的文本組件whereclause-fieldname(緊跟在 之后NEXT):
TYPES: BEGIN OF ty_whr,
fieldname TYPE string,
END OF ty_whr.
DATA(lt_fields) = VALUE rsds_frange_t( ).
DATA(lt_where) = REDUCE ty_whr(
INIT whereclause = VALUE ty_whr( )
FOR <fields> IN lt_fields
NEXT whereclause-fieldname =
COND #( WHEN whereclause IS NOT INITIAL
THEN <fields>-fieldname && | IN | && |@| && <fields>-fieldname && | AND |
ELSE <fields>-fieldname && | IN | && |@| && <fields>-fieldname
) ).
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/359194.html
上一篇:while回圈未結束但條件已滿足
下一篇:將值添加到動態陣列時出現分段錯誤
