<?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: Performance Issue in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1445314#M211537</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;Remove the joins and replace it with FOR ALL ENTRIES addition.&lt;/P&gt;&lt;P&gt;Also remove the SELECTs which you have written inside the&lt;/P&gt;&lt;P&gt;LOOP.&lt;/P&gt;&lt;P&gt;Avoid using APPENDING addition to the SELECT clause.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The above said factor will worse your performance a lot..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Abdul Hakim&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark all useful answers..&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 24 Jul 2006 18:20:36 GMT</pubDate>
    <dc:creator>abdul_hakim</dc:creator>
    <dc:date>2006-07-24T18:20:36Z</dc:date>
    <item>
      <title>Performance Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1445311#M211534</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;Can you pls check if the code can be further improved for Performance.&lt;/P&gt;&lt;P&gt;Any input is appreciated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************&lt;/P&gt;&lt;P&gt;REFRESH t_marc_werks.                                    &lt;/P&gt;&lt;P&gt;  SELECT werks FROM tvkwz INTO TABLE t_marc_werks           &lt;/P&gt;&lt;P&gt;   WHERE vkorg = p_vkorg                                    &lt;/P&gt;&lt;P&gt;     AND vtweg = p_vtweg.                                   &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT t_marc_werks.                                        &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF p_zt394 EQ 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT c&lt;SUB&gt;matnr c&lt;/SUB&gt;werks c&lt;SUB&gt;lgort d&lt;/SUB&gt;mtart&lt;/P&gt;&lt;P&gt;    INTO CORRESPONDING FIELDS OF TABLE t_materials&lt;/P&gt;&lt;P&gt;    FROM zt394 AS c INNER JOIN mara AS d&lt;/P&gt;&lt;P&gt;               ON c&lt;SUB&gt;matnr = d&lt;/SUB&gt;matnr&lt;/P&gt;&lt;P&gt;    WHERE c~vkorg EQ p_vkorg&lt;/P&gt;&lt;P&gt;    AND   c~werks IN s_werks&lt;/P&gt;&lt;P&gt;    AND   c~lgort IN s_lgort&lt;/P&gt;&lt;P&gt;    AND   c~matnr IN s_matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    t_materials1[] = t_materials[].&lt;/P&gt;&lt;P&gt;    t_materials2[] = t_materials[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DELETE t_materials2 WHERE mtart EQ 'KMAT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT t_materials1 WHERE mtart EQ 'KMAT'.&lt;/P&gt;&lt;P&gt;       DESCRIBE TABLE t_materials2 LINES w_j.&lt;/P&gt;&lt;P&gt;       w_lgort = t_materials1-lgort.&lt;/P&gt;&lt;P&gt;       CONCATENATE  t_materials1-matnr '%'  INTO t_materials1-matnr.&lt;/P&gt;&lt;P&gt;       MODIFY t_materials1 TRANSPORTING matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       SELECT matnr werks&lt;/P&gt;&lt;P&gt;       APPENDING CORRESPONDING FIELDS OF TABLE t_materials2&lt;/P&gt;&lt;P&gt;       FROM marc&lt;/P&gt;&lt;P&gt;       WHERE matnr LIKE t_materials1-matnr&lt;/P&gt;&lt;P&gt;       AND   werks EQ t_materials1-werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       DESCRIBE TABLE t_materials2 LINES w_i.&lt;/P&gt;&lt;P&gt;       WHILE w_i GT w_j.&lt;/P&gt;&lt;P&gt;          w_j = w_j + 1.&lt;/P&gt;&lt;P&gt;          READ TABLE t_materials2 index w_j.&lt;/P&gt;&lt;P&gt;            t_materials2-lgort = t_materials1-lgort.&lt;/P&gt;&lt;P&gt;            MODIFY t_materials2 INDEX w_j.&lt;/P&gt;&lt;P&gt;        ENDWHILE.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT t_materials2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          READ TABLE t_marc_werks WITH KEY werks = t_materials2-werks&lt;/P&gt;&lt;P&gt;                                  BINARY SEARCH.                                                                                &lt;/P&gt;&lt;P&gt;IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;              DELETE t_materials2.&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;P&gt;   IF s_lgort-low  NE ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT a&lt;SUB&gt;mtpos b&lt;/SUB&gt;matnr b&lt;SUB&gt;mtvfp b&lt;/SUB&gt;werks b~kautb&lt;/P&gt;&lt;P&gt;           b&lt;SUB&gt;kordb b&lt;/SUB&gt;dismm b&lt;SUB&gt;beskz b&lt;/SUB&gt;plifz b~disgr&lt;/P&gt;&lt;P&gt;           c&lt;SUB&gt;pstat c&lt;/SUB&gt;mtart c&lt;SUB&gt;brgew c&lt;/SUB&gt;normt d~lgort&lt;/P&gt;&lt;P&gt;    INTO CORRESPONDING FIELDS OF TABLE t_materials&lt;/P&gt;&lt;P&gt;    FROM mvke AS a INNER JOIN marc AS b ON a&lt;SUB&gt;matnr = b&lt;/SUB&gt;matnr&lt;/P&gt;&lt;P&gt;                   INNER JOIN mara AS c ON a&lt;SUB&gt;matnr = c&lt;/SUB&gt;matnr&lt;/P&gt;&lt;P&gt;                   INNER JOIN mard AS d ON a&lt;SUB&gt;matnr = d&lt;/SUB&gt;matnr&lt;/P&gt;&lt;P&gt;    FOR ALL ENTRIES IN t_materials2&lt;/P&gt;&lt;P&gt;    WHERE a~matnr EQ t_materials2-matnr&lt;/P&gt;&lt;P&gt;    AND   a~vkorg EQ p_vkorg&lt;/P&gt;&lt;P&gt;    AND   a~vtweg EQ p_vtweg&lt;/P&gt;&lt;P&gt;    AND   a~mtpos IN s_mtpos&lt;/P&gt;&lt;P&gt;    AND   b~matnr EQ t_materials2-matnr&lt;/P&gt;&lt;P&gt;    AND   b~werks EQ t_materials2-werks&lt;/P&gt;&lt;P&gt;    AND   b~stawn IN s_stawn&lt;/P&gt;&lt;P&gt;    AND   b~disgr IN s_disgr&lt;/P&gt;&lt;P&gt;    AND   b~mmsta EQ '03'&lt;/P&gt;&lt;P&gt;    AND   c~mtart IN s_mtart&lt;/P&gt;&lt;P&gt;    AND   d~lgort EQ t_materials2-lgort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT a&lt;SUB&gt;mtpos b&lt;/SUB&gt;matnr b&lt;SUB&gt;mtvfp b&lt;/SUB&gt;werks b~kautb&lt;/P&gt;&lt;P&gt;           b&lt;SUB&gt;kordb b&lt;/SUB&gt;dismm b&lt;SUB&gt;beskz b&lt;/SUB&gt;plifz b~disgr&lt;/P&gt;&lt;P&gt;           c&lt;SUB&gt;pstat c&lt;/SUB&gt;mtart c&lt;SUB&gt;brgew c&lt;/SUB&gt;normt&lt;/P&gt;&lt;P&gt;    INTO CORRESPONDING FIELDS OF TABLE t_materials&lt;/P&gt;&lt;P&gt;    FROM mvke AS a INNER JOIN marc AS b&lt;/P&gt;&lt;P&gt;    ON a&lt;SUB&gt;matnr = b&lt;/SUB&gt;matnr INNER JOIN mara AS c ON a&lt;SUB&gt;matnr = c&lt;/SUB&gt;matnr&lt;/P&gt;&lt;P&gt;    FOR ALL ENTRIES IN t_materials2&lt;/P&gt;&lt;P&gt;    WHERE a~matnr EQ t_materials2-matnr&lt;/P&gt;&lt;P&gt;    AND   a~vkorg EQ p_vkorg&lt;/P&gt;&lt;P&gt;    AND   a~vtweg EQ p_vtweg&lt;/P&gt;&lt;P&gt;    AND   a~mtpos IN s_mtpos&lt;/P&gt;&lt;P&gt;    AND   b~matnr EQ t_materials2-matnr&lt;/P&gt;&lt;P&gt;    AND   b~werks EQ t_materials2-werks&lt;/P&gt;&lt;P&gt;    AND   b~stawn IN s_stawn&lt;/P&gt;&lt;P&gt;    AND   b~disgr IN s_disgr&lt;/P&gt;&lt;P&gt;    AND   b~mmsta EQ '03'&lt;/P&gt;&lt;P&gt;    AND   c~mtart IN s_mtart.&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;    SORT t_materials BY matnr werks lgort.&lt;/P&gt;&lt;P&gt;    DELETE t_materials WHERE mtart EQ 'KMAT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT t_materials.&lt;/P&gt;&lt;P&gt;    READ TABLE t_materials2 WITH KEY matnr = t_materials-matnr.&lt;/P&gt;&lt;P&gt;    t_materials-lgort = t_materials2-lgort.&lt;/P&gt;&lt;P&gt;    t_materials-stawn = t_materials-normt+4(5).&lt;/P&gt;&lt;P&gt;    IF t_materials-stawn EQ c_90306.&lt;/P&gt;&lt;P&gt;      t_materials-z_phantom = 'S'.&lt;/P&gt;&lt;P&gt;    ELSEIF t_materials-mtart EQ 'HAWA'.&lt;/P&gt;&lt;P&gt;      t_materials-z_phantom = ' '.&lt;/P&gt;&lt;P&gt;    ELSEIF t_materials-mtart EQ 'FERT'.&lt;/P&gt;&lt;P&gt;      t_materials-z_phantom = 'M'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    MODIFY t_materials.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&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;Thanks&lt;/P&gt;&lt;P&gt;Charles&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Jul 2006 18:12:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1445311#M211534</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-24T18:12:29Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1445312#M211535</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi brian,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;try using &amp;lt;b&amp;gt;FOR ALL ENTRIES&amp;lt;/b&amp;gt; instead of INNER JOIN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INSTEAD OF SELECTING INSIDE A LOOP.&lt;/P&gt;&lt;P&gt;SELECT matnr werks&lt;/P&gt;&lt;P&gt;APPENDING CORRESPONDING FIELDS OF TABLE t_materials2&lt;/P&gt;&lt;P&gt;FROM marc&lt;/P&gt;&lt;P&gt;WHERE matnr LIKE t_materials1-matnr&lt;/P&gt;&lt;P&gt;AND werks EQ t_materials1-werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE THE SELECT OUTSIDE AND TRY USING &lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;READ STMT.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT t_materials1 WHERE mtart EQ 'KMAT'.&lt;/P&gt;&lt;P&gt;DESCRIBE TABLE t_materials2 LINES w_j.&lt;/P&gt;&lt;P&gt;w_lgort = t_materials1-lgort.&lt;/P&gt;&lt;P&gt;CONCATENATE t_materials1-matnr '%' INTO t_materials1-matnr.&lt;/P&gt;&lt;P&gt;MODIFY t_materials1 TRANSPORTING matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE t_materials2 WITH KEY matnr LIKE t_materials1-matnr &lt;/P&gt;&lt;P&gt;werks EQ t_materials1-werks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Jul 2006 18:16:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1445312#M211535</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-24T18:16:16Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1445313#M211536</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi charles,&lt;/P&gt;&lt;P&gt;Avoid using into correspondinf fields of table whereever possible.&lt;/P&gt;&lt;P&gt;SORT t_marc_werks. &lt;/P&gt;&lt;P&gt;try to sort it by key fields,&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;keerthi.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Jul 2006 18:19:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1445313#M211536</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-24T18:19:55Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1445314#M211537</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;Remove the joins and replace it with FOR ALL ENTRIES addition.&lt;/P&gt;&lt;P&gt;Also remove the SELECTs which you have written inside the&lt;/P&gt;&lt;P&gt;LOOP.&lt;/P&gt;&lt;P&gt;Avoid using APPENDING addition to the SELECT clause.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The above said factor will worse your performance a lot..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Abdul Hakim&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark all useful answers..&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Jul 2006 18:20:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1445314#M211537</guid>
      <dc:creator>abdul_hakim</dc:creator>
      <dc:date>2006-07-24T18:20:36Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1445315#M211538</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Make sure that you WHERE clauses are built in the same sequence as the keys of the table.  For example, your first select statement......&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;

SELECT c~matnr c~werks c~lgort d~mtart
INTO CORRESPONDING FIELDS OF TABLE t_materials
FROM zt394 AS c 
  INNER JOIN mara AS d
          ON c~matnr = d~matnr
&amp;lt;b&amp;gt;          WHERE c~matnr in s_MATNR
            AND c~werks IN s_werks
            AND c~lgort IN s_lgort
            and c~vkorg EQ p_vkorg.&amp;lt;/b&amp;gt;


&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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, 24 Jul 2006 18:21:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1445315#M211538</guid>
      <dc:creator>RichHeilman</dc:creator>
      <dc:date>2006-07-24T18:21:53Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1445316#M211539</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;Thanks for all the replies and advices.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I assumed that using the INNER jOIN would help increase the performance... Isit not the case?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also regarding using the Select outside the loop, i tried that, but the problem  is i cant use FOR ALL ENTRIES addition if there is LIKE in the WHERE clause.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And i ll keep in mind changing the order and avoiding INTO CORRESPONDING FIELDS..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Charles&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Jul 2006 18:56:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1445316#M211539</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-24T18:56:30Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1445317#M211540</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I was analysing your source code with AboveSoft Analyzer, you can see report &amp;lt;a href="http://personales.ciudad.com.ar/kakon/AboveSoft%20Analyzer.html"&amp;gt;here&amp;lt;/a&amp;gt;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Jul 2006 19:39:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1445317#M211540</guid>
      <dc:creator>LucianoBentiveg</dc:creator>
      <dc:date>2006-07-24T19:39:25Z</dc:date>
    </item>
  </channel>
</rss>

