到目前为止,我总是使用它从内部表中获取特定行:
LOOP AT it_itab INTO ls_itab WHERE place = 'NEW YORK'.
APPEND ls_itab TO it_anotherItab
INSERT ls_itab INTO TABLE it_anotherItab
ENDLOOP.
但是,在 7.40 中似乎有 REDUCE、FOR、LINES OF 和 FILTER。FILTER 需要一个排序或散列的键,在我的示例中不是这种情况。所以我想只有 FOR 受到质疑。
DATA(it_anotherItab) = VALUE t_itab( FOR wa IN it_itab WHERE ( place = 'LONDON' )
( col1 = wa-col2 col2 = wa-col3 col3 = ....... ) ).
问题是:
- 两者确实在做同样的事情吗?第二个是追加还是插入?
- 在第二个变体中是否可以使用整个结构而不是指定每一列?就像(wa)
- 第二个例子更快吗?