ABAP在SQL语句中使用VALUE运算符的初始值

时间:2017-06-22 12:56:57

标签: select abap

我有以下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).

即,我希望得到类似以下内容的内容,其中包含错误:"字段' VALUE'未知。 [...]",不幸的是。

  SELECT * FROM /scwm/tu_dlv
    WHERE lgnum     = @lv_lgnum
      AND top_hu    = @VALUE #( )
   INTO TABLE @DATA(lt).

这可能吗?我想摆脱DATA语句,因为如果重用该变量,它可能很容易导致错误。

我在Google和ABAP关键字文档中进行了搜索,特别是" SELECT"," VALUE,Operator"和"数据,运营商",但无济于事。

任何建议都表示赞赏。

亲切的问候, 斯蒂芬

1 个答案:

答案 0 :(得分:1)

据我所知,这取决于目标版本。对于release 7.40,比较的右侧需要(除其他选择之外)

  

主变量或文字

而在release 7.50中,已被替换为允许

  

文字,主变量或主机表达

host expressions的扩展程序应该允许您按照in this example所示的方式执行操作。