<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Loop at .....group by in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/loop-at-group-by/m-p/12523960#M2004944</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;dependent on your version, you can select directly from an internal table like:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;select 
    sum( d~hsl ) as HSL
   , d~BLART
from @it_data as d
group by d~BLART
into table @data(lt_result)

or

data: lt_result type hashed table of xxx with unique key BLART,
      lt_data type table of xxx,
      wa_data like line of lt_data.

loop at lt_data into wa_data.
   read table lt_result assigning field-symbol(&amp;lt;wa_result&amp;gt;) 
   with table key blart = wa_data-blart.
   if sy-subrc is initial.
    add wa_data-hsl to &amp;lt;wa_result&amp;gt;-hsl.
  else.
    insert wa_data into table lt_result.
  endif.
endloop.

or

types: begin of ty_data,
       grp type c length 4,
       cnt type int4,
       val type n length 3,
  end of ty_data.


  data: lt_data    type table of ty_data with EMPTY KEY,
        lt_result  like lt_data.

  lt_data = value #(
     ( grp = 'GRP1' val = 4 )
     ( grp = 'GRP1' val = 2 )
     ( grp = 'GRP1' val = 1 )
     ( grp = 'GRP2' val = 3 )
     ( grp = 'GRP2' val = 2 )
     ( grp = 'GRP3' val = 5 )
     ( grp = 'GRP3' val = 8 )
   ).

   lt_result = VALUE #(  FOR GROUPS ls_grp OF wa IN lt_data
                                GROUP BY
                                (
                                   grp =  wa-grp
                                   cnt =  GROUP SIZE
                                )
                           (
                             grp = ls_grp-grp
                             cnt = ls_grp-cnt
                             val = reduce #( init x = 0 for wa1 in group ls_grp  
                                             next  x = x + wa1-val )
                           )
                       ).

&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Tue, 22 Feb 2022 13:20:38 GMT</pubDate>
    <dc:creator>ThorstenHoefer</dc:creator>
    <dc:date>2022-02-22T13:20:38Z</dc:date>
    <item>
      <title>Loop at .....group by</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loop-at-group-by/m-p/12523959#M2004943</link>
      <description>&lt;P&gt;I have to do SUM HSL field based on blart(doc types).Belnr is key field. There are 3 different document types(BLART).How can i add using loop and group by/ SUM.&lt;/P&gt;
  &lt;P&gt;&lt;IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/attachments/storage/7/attachments/2024896-image.png" /&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 22 Feb 2022 12:31:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loop-at-group-by/m-p/12523959#M2004943</guid>
      <dc:creator>former_member765484</dc:creator>
      <dc:date>2022-02-22T12:31:35Z</dc:date>
    </item>
    <item>
      <title>Re: Loop at .....group by</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loop-at-group-by/m-p/12523960#M2004944</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;dependent on your version, you can select directly from an internal table like:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;select 
    sum( d~hsl ) as HSL
   , d~BLART
from @it_data as d
group by d~BLART
into table @data(lt_result)

or

data: lt_result type hashed table of xxx with unique key BLART,
      lt_data type table of xxx,
      wa_data like line of lt_data.

loop at lt_data into wa_data.
   read table lt_result assigning field-symbol(&amp;lt;wa_result&amp;gt;) 
   with table key blart = wa_data-blart.
   if sy-subrc is initial.
    add wa_data-hsl to &amp;lt;wa_result&amp;gt;-hsl.
  else.
    insert wa_data into table lt_result.
  endif.
endloop.

or

types: begin of ty_data,
       grp type c length 4,
       cnt type int4,
       val type n length 3,
  end of ty_data.


  data: lt_data    type table of ty_data with EMPTY KEY,
        lt_result  like lt_data.

  lt_data = value #(
     ( grp = 'GRP1' val = 4 )
     ( grp = 'GRP1' val = 2 )
     ( grp = 'GRP1' val = 1 )
     ( grp = 'GRP2' val = 3 )
     ( grp = 'GRP2' val = 2 )
     ( grp = 'GRP3' val = 5 )
     ( grp = 'GRP3' val = 8 )
   ).

   lt_result = VALUE #(  FOR GROUPS ls_grp OF wa IN lt_data
                                GROUP BY
                                (
                                   grp =  wa-grp
                                   cnt =  GROUP SIZE
                                )
                           (
                             grp = ls_grp-grp
                             cnt = ls_grp-cnt
                             val = reduce #( init x = 0 for wa1 in group ls_grp  
                                             next  x = x + wa1-val )
                           )
                       ).

&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 22 Feb 2022 13:20:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loop-at-group-by/m-p/12523960#M2004944</guid>
      <dc:creator>ThorstenHoefer</dc:creator>
      <dc:date>2022-02-22T13:20:38Z</dc:date>
    </item>
    <item>
      <title>Re: Loop at .....group by</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loop-at-group-by/m-p/12523961#M2004945</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Try Reduce .&lt;/P&gt;&lt;P&gt;One of the good information is here. &lt;A href="https://blogs.sap.com/2017/05/25/replace-the-loop-for-reduce-operator/"&gt;Reduce&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Also  Can try following way.:&lt;/P&gt;&lt;P&gt;Simple example :-&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;SELECT a~NTGEW , a~WBELN , a~CONTRACT FROM WBRP as a
  FOR ALL ENTRIES IN @lt_bkpf_bseg
      WHERE a~WBELN  = @lt_bkpf_bseg-AWKEY+0(10)
      AND   a~CONTRACT = @lt_bkpf_bseg-NUM+0(10)
      INTO TABLE @DATA(LT_WBRP). 


lv_NTGEW =  REDUCE #( INIT I TYPE NTGEW
                                    FOR W IN LT_WBRP   "internal table
                                    WHERE ( CONTRACT = &amp;lt;lfs_header&amp;gt;-num+0(10)  AND
                                            WBELN = &amp;lt;lfs_header&amp;gt;-AWKEY+0(10)
                                            )
                                    NEXT I = I + W-NTGEW ).&lt;BR /&gt;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 23 Feb 2022 11:36:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loop-at-group-by/m-p/12523961#M2004945</guid>
      <dc:creator>former_member9115</dc:creator>
      <dc:date>2022-02-23T11:36:54Z</dc:date>
    </item>
  </channel>
</rss>

