如何使用值表达式向 itab 添加新行



ABAP 7.40 为我们带来了新的语法,我还在弄清楚.
我想在现有表lt_itab添加新行。我通过添加一个空行并计算出表的当前长度以按索引更新找到了解决方法,但是有更简单的方法吗?

SELECT spfli~carrid, carrname, connid, cityfrom, cityto
  FROM scarr
  INNER JOIN spfli
  ON scarr~carrid = spfli~carrid
  WHERE scarr~carrid = @carrier
  ORDER BY scarr~carrid
  INTO TABLE @DATA(lt_itab).
"How can I simplify the following code part?" 
DATA(lv_idx) = lines( lt_itab ).
APPEND INITIAL LINE TO lt_itab.
lt_itab[ lv_idx + 1 ] = VALUE #( carrid    = 'UA'
                                 carrname  = 'United Airlines'
                                 connid    = 941
                                 cityfrom  = 'Frankfurt'
                                 cityto    = 'San Francisco' ).

这一切都在文档中:

lt_itab = VALUE #( BASE lt_itab ( carrid = ... ) ).

索引逻辑非常丑陋,您可以轻松地使用 APPEND 命令的ASSIGNING加法来获取新添加行的字段符号。然后,您可以使用该字段符号使用与现在相同的VALUE结构填充表条目。

或者你可以在一个语句中做到这一点:

APPEND VALUE #( ... ) TO lt_itab.

相关内容

  • 没有找到相关文章

最新更新