abap - 如何使用 VALUE 表达式向 itab 添加新行

标签 abap

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' ).

最佳答案

It's all in the documentation :

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

关于abap - 如何使用 VALUE 表达式向 itab 添加新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41602056/

相关文章:

for-loop - FOR 循环中不兼容的 Field-Symbol 类型

string - 从字符串中删除/提取最后一个字符

active-directory - LDAPMAP - 通过 RSLDAPSYNC_USER 函数将 SAP 数据映射到 LDAP

group-by - 对 SELECT 中的 NUMC 字段求和

abap - 是否有相当于事务CKMM的BAPI?

abap - 是否有另一种连接方式而不是使用 CONCATENATE 关键字?

date - SAP HANA 十进制转为时间戳或第二日期 SLT

abap - 滚动时固定文本

methods - 扩展ABAP中重写方法的接口(interface)

abap - 查找 XSTRING 的长度