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.