获取内表中发生重复的值

  DATA: lt_mqs TYPE STANDARD TABLE OF zmqs. 
 TYPES: tt_dup_mqs TYPE STANDARD TABLE OF zmqs WITH EMPTY KEY.
  DATA lt_dup_mqs TYPE tt_dup_mqs. 

 LOOP AT lt_mqs ASSIGNING FIELD-SYMBOL()
      GROUP BY ( z08body = -z08body size = GROUP SIZE )
      REFERENCE INTO DATA(lt_group_ref) .
    IF lt_group_ref->*-size > 1.

      LOOP AT GROUP lt_group_ref ASSIGNING FIELD-SYMBOL().
        lt_dup_mqs = VALUE tt_dup_mqs( BASE lt_dup_mqs ( z08body = -z08body ) ).
        EXIT.
      ENDLOOP.

    ENDIF.
  ENDLOOP.

利用sap标准语法,在loop 中使用group 的条件,获取重复项

  LOOP AT lt_mqs ASSIGNING FIELD-SYMBOL()
      GROUP BY ( z08body = -z08body size = GROUP SIZE )

这里只是计数,根据 size  大于1 ,可以判断当前group 是含重复值

利用loop group 可以得到相关重复的值

你可能感兴趣的:(ABAP开发,SAP,ABAP,开发语言,sap)