我有以下SQL语句,想知道是否可以使用VALUE
运算符重写它以避免开头的DATA
语句。
DATA(lv_initial) = VALUE /scwm/guid_hu( ).
SELECT * FROM /scwm/tu_dlv
WHERE lgnum = @lv_lgnum
AND top_hu = @lv_initial
INTO TABLE @DATA(lt).
即,我想要类似以下内容的内容,它给出了错误:"字段'值'未知。[...]",不幸的是。
SELECT * FROM /scwm/tu_dlv
WHERE lgnum = @lv_lgnum
AND top_hu = @VALUE #( )
INTO TABLE @DATA(lt).
这可能吗?我想摆脱 DATA
语句,因为如果重用变量,它很容易导致错误。
我在谷歌和ABAP关键字文档中搜索了"选择","值,运算符"和"数据,运算符",但无济于事。
任何建议不胜感激。
亲切问候斯特凡
据我所知,这取决于目标版本。对于 7.40 版,比较的右侧需要(以及其他替代方案(
主机变量或文本
而在 7.50 版中,它已被替换以允许
文本、主机变量或主机表达式
主机表达式的扩展应允许您执行所需的操作,如此示例中所示。