REDUCE- COUNT in ABAP

 

                                   Refer - Introduction to REDUCE keyword


Report-Old

        REPORT zab_rp_reduce_count.

        TABLES:
 vbak.
        DATA: count1 TYPE i,
              count2 TYPE i,
              count3 TYPE i.
        SELECT-OPTIONS : s_vbeln FOR vbak-vbeln.

        IF s_vbeln IS NOT INITIAL.
          SELECT vbeln,vbtyp
            FROM vbak
            INTO TABLE @DATA(lt_vbak)
            WHERE vbeln IN @s_vbeln.
        ENDIF.
        LOOP AT lt_vbak INTO DATA(lr_vbak).
          IF lr_vbak-vbtyp = 'A'.
            count1 = count1 + 1.
          ENDIF.
          IF lr_vbak-vbtyp = 'B'.
            count2 = count2 + 1.
          ENDIF.
          IF lr_vbak-vbtyp = 'C'.
            count3 = count3 + 1.
          ENDIF.
        ENDLOOP.

        WRITE: 'Number of entries for A is ', count1.
        WRITE: / 'Number of entries for B is ', count2.
        WRITE: / 'Number of entries for C is ', count3.

Report-NEW

        TABLES: vbak.
        SELECT-OPTIONS : s_vbeln FOR vbak-vbeln.

        IF s_vbeln IS NOT INITIAL.
          SELECT vbeln,vbtyp
            FROM vbak
            INTO TABLE @DATA(lt_vbak)
            WHERE vbeln IN @s_vbeln.
        ENDIF.

   data(count1) = REDUCE i( INIT c = 0 FOR lr_vbak in lt_vbak WHERE ( vbtyp = 'A' ) NEXT c = c + 1 ).
data(count2) = REDUCE i( INIT c = 0 FOR lr_vbak in lt_vbak WHERE ( vbtyp = 'B' ) NEXT c = c + 1 ).
data(count3) = REDUCE i( INIT c = 0 FOR lr_vbak in lt_vbak WHERE ( vbtyp = 'C' ) NEXT c = c + 1 ).


        WRITE: 'Number of entries for A is ', count1.
        WRITE: / 'Number of entries for B is ', count2.
        WRITE: / 'Number of entries for C is ', count3.

Input



Output


********************************Thank You*****************************

Comments

Popular posts from this blog

Custom entity/Action dialog in RAP using Unmanaged scenario

New syntax for append- VALUE (new syntax 7.4+) in ABAP

Read statement new syntax in ABAP. (7.4+).