我们都知道这些出色的 ABAP 语句,它们允许在单行中找到独特的值:
it_unique = VALUE #( FOR GROUPS value OF <line> IN it_itab
GROUP BY <line>-field WITHOUT MEMBERS ( value ) ).
但是提取重复项呢?可以为该任务使用GROUP BY
语法,或者表格理解在这里更有用吗?
我发现的唯一(虽然不是很优雅)的方法是:
LOOP AT lt_marc ASSIGNING FIELD-SYMBOL(<fs_marc>) GROUP BY ( matnr = <fs_marc>-matnr
werks = <fs_marc>-werks )
ASSIGNING FIELD-SYMBOL(<group>).
members = VALUE #( FOR m IN GROUP <group> ( m ) ).
IF lines( members ) > 1.
"throw error
ENDIF.
ENDLOOP.
有没有更漂亮的方法可以通过任意键查找重复项?