<?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 Help with Performance. in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/help-with-performance/m-p/1502004#M232365</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The code below takes long time to run.can anyone suggest some ideas to fine tune the program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;r_kunnr-option = 'EQ'.&lt;/P&gt;&lt;P&gt;  r_kunnr-sign = 'I'.&lt;/P&gt;&lt;P&gt;  CLEAR:  r_kunnr-high, r_kunnr-low.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT kunnr&lt;/P&gt;&lt;P&gt;    INTO knvp-kunnr&lt;/P&gt;&lt;P&gt;    FROM knvp&lt;/P&gt;&lt;P&gt;   WHERE parvw EQ c_parvw&lt;/P&gt;&lt;P&gt;     AND kunn2 IN s_kunnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    r_kunnr-low = knvp-kunnr.&lt;/P&gt;&lt;P&gt;    COLLECT r_kunnr.&lt;/P&gt;&lt;P&gt;    CLEAR r_kunnr-low.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT r_kunnr.&lt;/P&gt;&lt;P&gt;    REFRESH r_kdgrp.&lt;/P&gt;&lt;P&gt;    REFRESH r_bzirk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    r_kdgrp-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    r_kdgrp-sign = 'I'.&lt;/P&gt;&lt;P&gt;    r_bzirk-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    r_bzirk-sign = 'I'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT kdgrp bzirk INTO (knvv-kdgrp, knvv-bzirk)&lt;/P&gt;&lt;P&gt;      FROM knvv&lt;/P&gt;&lt;P&gt;      WHERE kunnr = r_kunnr-low.&lt;/P&gt;&lt;P&gt;      r_kdgrp-low = knvv-kdgrp.&lt;/P&gt;&lt;P&gt;      COLLECT r_kdgrp.&lt;/P&gt;&lt;P&gt;      CLEAR r_kdgrp-low.&lt;/P&gt;&lt;P&gt;      r_bzirk-low = knvv-bzirk.&lt;/P&gt;&lt;P&gt;      COLLECT r_bzirk.&lt;/P&gt;&lt;P&gt;      CLEAR r_bzirk-low.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    REFRESH t_cdhdr.&lt;/P&gt;&lt;P&gt;    SELECT objectid changenr username udate utime tcode&lt;/P&gt;&lt;P&gt;      FROM cdhdr INTO TABLE t_cdhdr&lt;/P&gt;&lt;P&gt;      WHERE objectclas EQ 'DEBI'&lt;/P&gt;&lt;P&gt;        AND objectid   EQ r_kunnr-low&lt;/P&gt;&lt;P&gt;        AND udate      IN r_udate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF t_cdhdr[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;      SELECT fname value_new value_old&lt;/P&gt;&lt;P&gt;        INTO (cdpos-fname, cdpos-value_new, cdpos-value_old)&lt;/P&gt;&lt;P&gt;        FROM cdpos&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN t_cdhdr&lt;/P&gt;&lt;P&gt;        WHERE objectclas EQ 'DEBI'&lt;/P&gt;&lt;P&gt;          AND objectid   EQ t_cdhdr-objectid&lt;/P&gt;&lt;P&gt;          AND changenr   EQ t_cdhdr-changenr&lt;/P&gt;&lt;P&gt;          AND tabname    EQ 'KNVV'.&lt;/P&gt;&lt;P&gt;        IF cdpos-fname = 'KDGRP'.&lt;/P&gt;&lt;P&gt;          MOVE cdpos-value_new TO r_kdgrp-low.&lt;/P&gt;&lt;P&gt;          COLLECT r_kdgrp.&lt;/P&gt;&lt;P&gt;          MOVE cdpos-value_old TO r_kdgrp-low.&lt;/P&gt;&lt;P&gt;          COLLECT r_kdgrp.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF cdpos-fname = 'BZIRK'.&lt;/P&gt;&lt;P&gt;          MOVE cdpos-value_new TO r_bzirk-low.&lt;/P&gt;&lt;P&gt;          COLLECT r_bzirk.&lt;/P&gt;&lt;P&gt;          MOVE cdpos-value_old TO r_bzirk-low.&lt;/P&gt;&lt;P&gt;          COLLECT r_bzirk.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDSELECT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DELETE r_kdgrp WHERE NOT low IN s_kdgrp.&lt;/P&gt;&lt;P&gt;    DELETE r_bzirk WHERE NOT low IN s_bzirk.&lt;/P&gt;&lt;P&gt;    CHECK r_kdgrp[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    CHECK r_bzirk[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT vbeln vkorg pkunag kdgrp bzirk pkunrg&lt;/P&gt;&lt;P&gt;           matnr posnr SUM( kzwi3 ) SUM( kzwi4 ) SUM( kzwi5 )                                  &lt;/P&gt;&lt;P&gt;        APPENDING TABLE t_s502                             &lt;/P&gt;&lt;P&gt;      FROM s502&lt;/P&gt;&lt;P&gt;    WHERE ssour  EQ space                                  &lt;/P&gt;&lt;P&gt;      AND vrsio  IN s_vrsio                               &lt;/P&gt;&lt;P&gt;      AND spmon  EQ '000000'                              &lt;/P&gt;&lt;P&gt;      AND sptag  EQ '00000000'                              &lt;/P&gt;&lt;P&gt;      AND spwoc  EQ '000000'                                &lt;/P&gt;&lt;P&gt;      AND vkorg  IN s_vkorg                               &lt;/P&gt;&lt;P&gt;       AND spbup  IN s_spbup                                  &lt;/P&gt;&lt;P&gt;      AND pkunag EQ r_kunnr-low                            &lt;/P&gt;&lt;P&gt;      AND kdgrp  IN r_kdgrp                                &lt;/P&gt;&lt;P&gt;      AND bzirk  IN r_bzirk                                 &lt;/P&gt;&lt;P&gt;       AND vbeln  IN s_vbeln&lt;/P&gt;&lt;P&gt;       AND matnr  IN s_matnr&lt;/P&gt;&lt;P&gt;     GROUP BY vbeln vkorg pkunag kdgrp bzirk pkunrg matnr posnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.               &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CHECK NOT t_s502[] IS INITIAL.&lt;/P&gt;&lt;P&gt;  SORT t_s502 BY vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any help is appreciated.&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Brain.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 31 Jul 2006 22:03:05 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-07-31T22:03:05Z</dc:date>
    <item>
      <title>Help with Performance.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/help-with-performance/m-p/1502004#M232365</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The code below takes long time to run.can anyone suggest some ideas to fine tune the program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;r_kunnr-option = 'EQ'.&lt;/P&gt;&lt;P&gt;  r_kunnr-sign = 'I'.&lt;/P&gt;&lt;P&gt;  CLEAR:  r_kunnr-high, r_kunnr-low.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT kunnr&lt;/P&gt;&lt;P&gt;    INTO knvp-kunnr&lt;/P&gt;&lt;P&gt;    FROM knvp&lt;/P&gt;&lt;P&gt;   WHERE parvw EQ c_parvw&lt;/P&gt;&lt;P&gt;     AND kunn2 IN s_kunnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    r_kunnr-low = knvp-kunnr.&lt;/P&gt;&lt;P&gt;    COLLECT r_kunnr.&lt;/P&gt;&lt;P&gt;    CLEAR r_kunnr-low.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT r_kunnr.&lt;/P&gt;&lt;P&gt;    REFRESH r_kdgrp.&lt;/P&gt;&lt;P&gt;    REFRESH r_bzirk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    r_kdgrp-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    r_kdgrp-sign = 'I'.&lt;/P&gt;&lt;P&gt;    r_bzirk-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    r_bzirk-sign = 'I'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT kdgrp bzirk INTO (knvv-kdgrp, knvv-bzirk)&lt;/P&gt;&lt;P&gt;      FROM knvv&lt;/P&gt;&lt;P&gt;      WHERE kunnr = r_kunnr-low.&lt;/P&gt;&lt;P&gt;      r_kdgrp-low = knvv-kdgrp.&lt;/P&gt;&lt;P&gt;      COLLECT r_kdgrp.&lt;/P&gt;&lt;P&gt;      CLEAR r_kdgrp-low.&lt;/P&gt;&lt;P&gt;      r_bzirk-low = knvv-bzirk.&lt;/P&gt;&lt;P&gt;      COLLECT r_bzirk.&lt;/P&gt;&lt;P&gt;      CLEAR r_bzirk-low.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    REFRESH t_cdhdr.&lt;/P&gt;&lt;P&gt;    SELECT objectid changenr username udate utime tcode&lt;/P&gt;&lt;P&gt;      FROM cdhdr INTO TABLE t_cdhdr&lt;/P&gt;&lt;P&gt;      WHERE objectclas EQ 'DEBI'&lt;/P&gt;&lt;P&gt;        AND objectid   EQ r_kunnr-low&lt;/P&gt;&lt;P&gt;        AND udate      IN r_udate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF t_cdhdr[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;      SELECT fname value_new value_old&lt;/P&gt;&lt;P&gt;        INTO (cdpos-fname, cdpos-value_new, cdpos-value_old)&lt;/P&gt;&lt;P&gt;        FROM cdpos&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN t_cdhdr&lt;/P&gt;&lt;P&gt;        WHERE objectclas EQ 'DEBI'&lt;/P&gt;&lt;P&gt;          AND objectid   EQ t_cdhdr-objectid&lt;/P&gt;&lt;P&gt;          AND changenr   EQ t_cdhdr-changenr&lt;/P&gt;&lt;P&gt;          AND tabname    EQ 'KNVV'.&lt;/P&gt;&lt;P&gt;        IF cdpos-fname = 'KDGRP'.&lt;/P&gt;&lt;P&gt;          MOVE cdpos-value_new TO r_kdgrp-low.&lt;/P&gt;&lt;P&gt;          COLLECT r_kdgrp.&lt;/P&gt;&lt;P&gt;          MOVE cdpos-value_old TO r_kdgrp-low.&lt;/P&gt;&lt;P&gt;          COLLECT r_kdgrp.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF cdpos-fname = 'BZIRK'.&lt;/P&gt;&lt;P&gt;          MOVE cdpos-value_new TO r_bzirk-low.&lt;/P&gt;&lt;P&gt;          COLLECT r_bzirk.&lt;/P&gt;&lt;P&gt;          MOVE cdpos-value_old TO r_bzirk-low.&lt;/P&gt;&lt;P&gt;          COLLECT r_bzirk.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDSELECT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DELETE r_kdgrp WHERE NOT low IN s_kdgrp.&lt;/P&gt;&lt;P&gt;    DELETE r_bzirk WHERE NOT low IN s_bzirk.&lt;/P&gt;&lt;P&gt;    CHECK r_kdgrp[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    CHECK r_bzirk[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT vbeln vkorg pkunag kdgrp bzirk pkunrg&lt;/P&gt;&lt;P&gt;           matnr posnr SUM( kzwi3 ) SUM( kzwi4 ) SUM( kzwi5 )                                  &lt;/P&gt;&lt;P&gt;        APPENDING TABLE t_s502                             &lt;/P&gt;&lt;P&gt;      FROM s502&lt;/P&gt;&lt;P&gt;    WHERE ssour  EQ space                                  &lt;/P&gt;&lt;P&gt;      AND vrsio  IN s_vrsio                               &lt;/P&gt;&lt;P&gt;      AND spmon  EQ '000000'                              &lt;/P&gt;&lt;P&gt;      AND sptag  EQ '00000000'                              &lt;/P&gt;&lt;P&gt;      AND spwoc  EQ '000000'                                &lt;/P&gt;&lt;P&gt;      AND vkorg  IN s_vkorg                               &lt;/P&gt;&lt;P&gt;       AND spbup  IN s_spbup                                  &lt;/P&gt;&lt;P&gt;      AND pkunag EQ r_kunnr-low                            &lt;/P&gt;&lt;P&gt;      AND kdgrp  IN r_kdgrp                                &lt;/P&gt;&lt;P&gt;      AND bzirk  IN r_bzirk                                 &lt;/P&gt;&lt;P&gt;       AND vbeln  IN s_vbeln&lt;/P&gt;&lt;P&gt;       AND matnr  IN s_matnr&lt;/P&gt;&lt;P&gt;     GROUP BY vbeln vkorg pkunag kdgrp bzirk pkunrg matnr posnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.               &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CHECK NOT t_s502[] IS INITIAL.&lt;/P&gt;&lt;P&gt;  SORT t_s502 BY vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any help is appreciated.&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Brain.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 31 Jul 2006 22:03:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/help-with-performance/m-p/1502004#M232365</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-31T22:03:05Z</dc:date>
    </item>
    <item>
      <title>Re: Help with Performance.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/help-with-performance/m-p/1502005#M232366</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;First, get rid of the SELECT....ENDSELECTS.  Use SELECT...INTO TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REgards,&lt;/P&gt;&lt;P&gt;Rich Heilman&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 31 Jul 2006 22:06:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/help-with-performance/m-p/1502005#M232366</guid>
      <dc:creator>RichHeilman</dc:creator>
      <dc:date>2006-07-31T22:06:41Z</dc:date>
    </item>
    <item>
      <title>Re: Help with Performance.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/help-with-performance/m-p/1502006#M232367</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;1. IT MIGHT BE GOOD TO  HAVE A CDHDR index on objectclass objectid and udate&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. change cdpos retrieval slightly&lt;/P&gt;&lt;P&gt;DATA T_CDPOS TYPE TABLE OF CDPOS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT fname value_new value_old&lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF TABLE T_cdpos&lt;/P&gt;&lt;P&gt;FROM cdpos&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN t_cdhdr&lt;/P&gt;&lt;P&gt;WHERE objectclas EQ 'DEBI'&lt;/P&gt;&lt;P&gt;AND objectid EQ t_cdhdr-objectid&lt;/P&gt;&lt;P&gt;AND changenr EQ t_cdhdr-changenr&lt;/P&gt;&lt;P&gt;AND tabname EQ 'KNVV'&lt;/P&gt;&lt;P&gt;AND fname IN ('KDGRP','BZIRK').&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT T_CDPOS INTO CDOS.&lt;/P&gt;&lt;P&gt;IF cdpos-fname = 'KDGRP'.&lt;/P&gt;&lt;P&gt;MOVE cdpos-value_new TO r_kdgrp-low.&lt;/P&gt;&lt;P&gt;COLLECT r_kdgrp. &lt;/P&gt;&lt;P&gt;MOVE cdpos-value_old TO r_kdgrp-low.&lt;/P&gt;&lt;P&gt;COLLECT r_kdgrp.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;IF cdpos-fname = 'BZIRK'.&lt;/P&gt;&lt;P&gt;MOVE cdpos-value_new TO r_bzirk-low.&lt;/P&gt;&lt;P&gt;COLLECT r_bzirk. &lt;/P&gt;&lt;P&gt;MOVE cdpos-value_old TO r_bzirk-low.&lt;/P&gt;&lt;P&gt;COLLECT r_bzirk.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. the S502 work is probably best done without the aggregate function 'sum' as this can be a killer. Change this select to stop using 'sum' and then loop and collect the values into another table after the sql.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Aug 2006 00:51:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/help-with-performance/m-p/1502006#M232367</guid>
      <dc:creator>former_member186741</dc:creator>
      <dc:date>2006-08-01T00:51:05Z</dc:date>
    </item>
    <item>
      <title>Re: Help with Performance.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/help-with-performance/m-p/1502007#M232368</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. First fetch the data whatever required into internal tables and then processing them.&lt;/P&gt;&lt;P&gt;2. Try to avoid the SELECT statements in the loop.&lt;/P&gt;&lt;P&gt;3. Instead of using select..endselect use select ...into table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Azaz Ali.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Aug 2006 01:06:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/help-with-performance/m-p/1502007#M232368</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-01T01:06:34Z</dc:date>
    </item>
  </channel>
</rss>

