<?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: Optimizing for performance in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/optimizing-for-performance/m-p/1959847#M394704</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;use &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE t_kotetab WITH KEY knuma = wa_condtab-knuma binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read the manual for the exact use of binary search. I don't know how big you're tables are but here they were quite big (&amp;gt;30.000 records) it made the report 2x faster with adding binary search to the read statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and use performance trace to see what is the most time consuming part of you're report&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        A. de Smidt&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 15 Feb 2007 10:57:52 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-02-15T10:57:52Z</dc:date>
    <item>
      <title>Optimizing for performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/optimizing-for-performance/m-p/1959846#M394703</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;I have this selection related to a report that outputs condition data. However, it runs for quite a long time, so any input to an optimization is appreciated:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT prodh stufe&lt;/P&gt;&lt;P&gt;        FROM t179&lt;/P&gt;&lt;P&gt;        INTO CORRESPONDING FIELDS OF TABLE t_t179dat&lt;/P&gt;&lt;P&gt;        WHERE stufe = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT knuma bukrs vkbur boart botext&lt;/P&gt;&lt;P&gt;      FROM kona&lt;/P&gt;&lt;P&gt;      INTO TABLE t_condtab&lt;/P&gt;&lt;P&gt;            WHERE knuma IN so_knuma&lt;/P&gt;&lt;P&gt;      AND   datbi &amp;gt; sy-cdate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT knuma kschl vkorg kunnr zzprodh4 knumh&lt;/P&gt;&lt;P&gt;    FROM kote502&lt;/P&gt;&lt;P&gt;    INTO TABLE t_kotetab&lt;/P&gt;&lt;P&gt;    FOR ALL ENTRIES IN t_condtab&lt;/P&gt;&lt;P&gt;    WHERE knuma = t_condtab-knuma.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT t_condtab BY knuma.&lt;/P&gt;&lt;P&gt;  SORT t_kotetab BY knuma.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT t_condtab INTO wa_condtab.&lt;/P&gt;&lt;P&gt;    READ TABLE t_kotetab WITH KEY knuma = wa_condtab-knuma.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_condtab-kschl = t_kotetab-kschl.&lt;/P&gt;&lt;P&gt;    wa_condtab-vkorg = t_kotetab-vkorg.&lt;/P&gt;&lt;P&gt;    wa_condtab-kunnr = t_kotetab-kunnr.&lt;/P&gt;&lt;P&gt;    wa_condtab-zzprodh4 = t_kotetab-zzprodh4.&lt;/P&gt;&lt;P&gt;    wa_condtab-knumh = t_kotetab-knumh.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE name1 INTO wa_condtab-name1&lt;/P&gt;&lt;P&gt;        FROM kna1&lt;/P&gt;&lt;P&gt;        WHERE kunnr = wa_condtab-kunnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MODIFY t_condtab FROM wa_condtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT t_t179dat INTO wa_t179data.  "copy t179 data to workarea&lt;/P&gt;&lt;P&gt;      WRITE wa_t179data-prodh+9(3) TO wa_t179data-prodhkey. "3 last chars to prodhkey&lt;/P&gt;&lt;P&gt;      MODIFY t_t179dat FROM wa_t179data. "Modify the internal table from workarea&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE t_t179dat WITH KEY prodhkey = wa_condtab-zzprodh4 "Find key in T179 data&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE vtext INTO wa_condtab-vtext  "Find vtext in t179t&lt;/P&gt;&lt;P&gt;          FROM t179t&lt;/P&gt;&lt;P&gt;          WHERE prodh = t_t179dat-prodh&lt;/P&gt;&lt;P&gt;          AND   spras = 'EN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wa_condtab-stufe = t_t179dat-stufe.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF wa_condtab-stufe = 4.&lt;/P&gt;&lt;P&gt;        MODIFY t_condtab FROM wa_condtab.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read the partner group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT parvw&lt;/P&gt;&lt;P&gt;        INTO wa_condtab-parvw&lt;/P&gt;&lt;P&gt;        FROM knvp&lt;/P&gt;&lt;P&gt;        WHERE kunnr = wa_condtab-kunnr&lt;/P&gt;&lt;P&gt;        AND   parvw = 'Z9'.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        MODIFY t_condtab FROM wa_condtab.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read the price grouping&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE kunn2&lt;/P&gt;&lt;P&gt;        INTO wa_condtab-kunn2&lt;/P&gt;&lt;P&gt;        FROM knvp&lt;/P&gt;&lt;P&gt;        WHERE kunnr = wa_condtab-kunnr&lt;/P&gt;&lt;P&gt;        AND   vkorg = wa_condtab-vkorg&lt;/P&gt;&lt;P&gt;        AND   parvw = wa_condtab-parvw.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read the condition rate&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT kbrue FROM konp&lt;/P&gt;&lt;P&gt;      INTO wa_condtab-zre1&lt;/P&gt;&lt;P&gt;      WHERE knumh = wa_condtab-knumh&lt;/P&gt;&lt;P&gt;      AND   kopos = 1.&lt;/P&gt;&lt;P&gt;      IF wa_condtab-zre1 NE 0.&lt;/P&gt;&lt;P&gt;        MODIFY t_condtab FROM wa_condtab.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING wa_condtab TO wa_outtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    INSERT wa_outtab INTO TABLE t_outtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Feb 2007 10:53:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/optimizing-for-performance/m-p/1959846#M394703</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-02-15T10:53:58Z</dc:date>
    </item>
    <item>
      <title>Re: Optimizing for performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/optimizing-for-performance/m-p/1959847#M394704</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;use &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE t_kotetab WITH KEY knuma = wa_condtab-knuma binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read the manual for the exact use of binary search. I don't know how big you're tables are but here they were quite big (&amp;gt;30.000 records) it made the report 2x faster with adding binary search to the read statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and use performance trace to see what is the most time consuming part of you're report&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        A. de Smidt&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Feb 2007 10:57:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/optimizing-for-performance/m-p/1959847#M394704</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-02-15T10:57:52Z</dc:date>
    </item>
    <item>
      <title>Re: Optimizing for performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/optimizing-for-performance/m-p/1959848#M394705</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;Just few corrections:&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;If not t_condtab[] is initial.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;SELECT knuma kschl vkorg kunnr zzprodh4 knumh&lt;/P&gt;&lt;P&gt;FROM kote502&lt;/P&gt;&lt;P&gt;INTO TABLE t_kotetab&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN t_condtab&lt;/P&gt;&lt;P&gt;WHERE knuma = t_condtab-knuma.&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;endif.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE t_kotetab WITH KEY knuma = wa_condtab-knuma&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;BINARY SEARCH&amp;lt;/b&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Feb 2007 11:00:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/optimizing-for-performance/m-p/1959848#M394705</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-02-15T11:00:37Z</dc:date>
    </item>
    <item>
      <title>Re: Optimizing for performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/optimizing-for-performance/m-p/1959849#M394706</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;good&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;always use CORRESPONDING FIELDS OF TABLE ITAB.&lt;/P&gt;&lt;P&gt;Before read statement always use the SORT statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;mrutyun^&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Feb 2007 11:02:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/optimizing-for-performance/m-p/1959849#M394706</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-02-15T11:02:50Z</dc:date>
    </item>
    <item>
      <title>Re: Optimizing for performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/optimizing-for-performance/m-p/1959850#M394707</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi peter,&lt;/P&gt;&lt;P&gt;            after move-corresponding when u use modify statement u can use sy-tabix.&lt;/P&gt;&lt;P&gt;sy-tabix gives the faster execution.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT RTAB.&lt;/P&gt;&lt;P&gt;LOOP AT KTAB WHERE MATNR = RTAB-MATNR.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING RTAB TO KTAB. MODIFY KTAB INDEX SY-TABIX.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;vijay dwivedi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Feb 2007 12:06:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/optimizing-for-performance/m-p/1959850#M394707</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-02-15T12:06:24Z</dc:date>
    </item>
    <item>
      <title>Re: Optimizing for performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/optimizing-for-performance/m-p/1959851#M394708</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.) try to avoid ' into correspondig field of ' option in select query &lt;/P&gt;&lt;P&gt;use ' into table tanle_name'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2.) fro all the select queries containing addition &lt;/P&gt;&lt;P&gt;' FOR ALL ENTRIES IN TABLE_NAME'  check the condition &lt;/P&gt;&lt;P&gt;IF TABLE_NAME[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDIF&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;before the select query.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3.)  before the read statement sort the table by any key field and &lt;/P&gt;&lt;P&gt;use the addition BINARY SEARCH with READ statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4.) For modifying the internal table always use index.&lt;/P&gt;&lt;P&gt;5.) &amp;lt;b&amp;gt;never use select statement inside loop.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for ur case u can use internal table for selecting 'NAME1' from 'KNA1'.&lt;/P&gt;&lt;P&gt;Inside the loop perform the read operation for this internal table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in the same way avoid the other select statement which u have used in the loop.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Feb 2007 12:44:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/optimizing-for-performance/m-p/1959851#M394708</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-02-15T12:44:44Z</dc:date>
    </item>
  </channel>
</rss>

