<?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: performane tuning in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/performane-tuning/m-p/2481164#M559044</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;First, make sure that so_matnr is not empty before doing the select. If it is empty, it will have problems using the index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Get rid of the call to sr_progress_bar for every material. If you do it every 10%, that will be more than enough.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You are doing a number of selects within a loop on it_alv. Try changing that to FOR ALL ENTRIES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 26 Jun 2007 15:48:18 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-06-26T15:48:18Z</dc:date>
    <item>
      <title>performane tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performane-tuning/m-p/2481162#M559042</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt; can any one help me out in increasing the performance of the following code,&lt;/P&gt;&lt;P&gt; plz help me out in increasing the performance of the following code.&lt;/P&gt;&lt;P&gt;regards.&lt;/P&gt;&lt;P&gt;SELECT mara~matnr marc~werks mara~mtart mara~matkl mara~meins&lt;/P&gt;&lt;P&gt;         marc~dismm marc~dispo marc~disgr marc~mmsta marc~perkz&lt;/P&gt;&lt;P&gt;         marc~periv&lt;/P&gt;&lt;P&gt;    FROM mara&lt;/P&gt;&lt;P&gt;      INNER JOIN marc&lt;/P&gt;&lt;P&gt;        ON mara~matnr = marc~matnr&lt;/P&gt;&lt;P&gt;    INTO CORRESPONDING FIELDS OF TABLE it_alv&lt;/P&gt;&lt;P&gt;    WHERE mara~matnr IN so_matnr&lt;/P&gt;&lt;P&gt;      AND mara~matkl IN so_matkl&lt;/P&gt;&lt;P&gt;      AND mara~mtart IN so_mtart&lt;/P&gt;&lt;P&gt;      AND marc~werks IN so_werks&lt;/P&gt;&lt;P&gt;      AND marc~disgr IN so_disgr&lt;/P&gt;&lt;P&gt;      AND marc~dismm IN so_dismm&lt;/P&gt;&lt;P&gt;      AND marc~dispo IN so_dispo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE it_alv LINES w_nbitems.&lt;/P&gt;&lt;P&gt;  l_count = 0.&lt;/P&gt;&lt;P&gt;  LOOP AT it_alv INTO is_alv.&lt;/P&gt;&lt;P&gt;    l_tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;    l_count = l_count + 1.&lt;/P&gt;&lt;P&gt;    PERFORM sr_progress_bar USING l_count&lt;/P&gt;&lt;P&gt;                                  w_nbitems&lt;/P&gt;&lt;P&gt;                                  text-m02.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read last stock movement for selected material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT mkpf~budat mkpf~mblnr mkpf~mjahr mseg~zeile mseg~bwart&lt;/P&gt;&lt;P&gt;           mseg~menge mseg~kostl mkpf~usnam mseg~wempf&lt;/P&gt;&lt;P&gt;      UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;      FROM mseg&lt;/P&gt;&lt;P&gt;        JOIN mkpf&lt;/P&gt;&lt;P&gt;          ON    mkpf~mblnr = mseg~mblnr&lt;/P&gt;&lt;P&gt;            AND mkpf~mjahr = mseg~mjahr&lt;/P&gt;&lt;P&gt;      INTO (is_alv-budat, is_alv-mblnr, is_alv-mjahr, is_alv-zeile,&lt;/P&gt;&lt;P&gt;            is_alv-bwart, is_alv-menge, is_alv-kostl, is_alv-usnam,&lt;/P&gt;&lt;P&gt;            is_alv-wempf)&lt;/P&gt;&lt;P&gt;      WHERE mseg~matnr = is_alv-matnr&lt;/P&gt;&lt;P&gt;        AND mseg~werks = is_alv-werks&lt;/P&gt;&lt;P&gt;        AND mseg~bwart IN so_bwart&lt;/P&gt;&lt;P&gt;      ORDER BY MKPF~BUDAT descending.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF is_alv-budat &amp;gt;= w_startdate. " OR is_alv-budat IS INITIAL.&lt;/P&gt;&lt;P&gt;      DELETE it_alv INDEX l_tabix.&lt;/P&gt;&lt;P&gt;      CONTINUE.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve material description&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT SINGLE maktx&lt;/P&gt;&lt;P&gt;      FROM makt&lt;/P&gt;&lt;P&gt;      INTO is_alv-maktx&lt;/P&gt;&lt;P&gt;      WHERE matnr = is_alv-matnr&lt;/P&gt;&lt;P&gt;        AND spras = sy-langu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sums different stock quantities for all storage locations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT *&lt;/P&gt;&lt;P&gt;      FROM mard&lt;/P&gt;&lt;P&gt;      INTO TABLE it_mard&lt;/P&gt;&lt;P&gt;      WHERE matnr = is_alv-matnr&lt;/P&gt;&lt;P&gt;        AND werks = is_alv-werks.&lt;/P&gt;&lt;P&gt;    LOOP AT it_mard INTO is_mard.&lt;/P&gt;&lt;P&gt;      is_alv-labst = is_alv-labst + is_mard-labst.&lt;/P&gt;&lt;P&gt;      is_alv-umlme = is_alv-umlme + is_mard-umlme.&lt;/P&gt;&lt;P&gt;      is_alv-insme = is_alv-insme + is_mard-insme.&lt;/P&gt;&lt;P&gt;      is_alv-einme = is_alv-einme + is_mard-einme.&lt;/P&gt;&lt;P&gt;      is_alv-speme = is_alv-speme + is_mard-speme.&lt;/P&gt;&lt;P&gt;      is_alv-retme = is_alv-retme + is_mard-retme.&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;Currency for valuated stock&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT SINGLE t001~waers&lt;/P&gt;&lt;P&gt;      FROM t001k&lt;/P&gt;&lt;P&gt;        INNER JOIN t001&lt;/P&gt;&lt;P&gt;          ON t001k~bukrs = t001~bukrs&lt;/P&gt;&lt;P&gt;      INTO is_alv-waers&lt;/P&gt;&lt;P&gt;      WHERE t001k~bwkey = is_alv-werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE *&lt;/P&gt;&lt;P&gt;      FROM mbew&lt;/P&gt;&lt;P&gt;      WHERE matnr = is_alv-matnr&lt;/P&gt;&lt;P&gt;        AND bwkey = is_alv-werks.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      is_alv-stprs = mbew-stprs.&lt;/P&gt;&lt;P&gt;      is_alv-peinh = mbew-peinh.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    is_alv-labst_einme = is_alv-labst + is_alv-einme.&lt;/P&gt;&lt;P&gt;    is_alv-othme = is_alv-umlme + is_alv-retme.&lt;/P&gt;&lt;P&gt;    is_alv-lbkum = is_alv-labst + is_alv-umlme + is_alv-insme +&lt;/P&gt;&lt;P&gt;                   is_alv-einme + is_alv-speme + is_alv-retme.&lt;/P&gt;&lt;P&gt;*&amp;gt;&amp;gt;&amp;gt; BEGIN OF MODIFICATION CPE                             " SBDK919741&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Total valuated stock = total stock * Standard price / price unit&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   is_alv-salk3 = is_alv-lbkum * is_alv-stprs.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    is_alv-salk3 = is_alv-lbkum * is_alv-stprs / is_alv-peinh.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jun 2007 14:21:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performane-tuning/m-p/2481162#M559042</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-26T14:21:50Z</dc:date>
    </item>
    <item>
      <title>Re: performane tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performane-tuning/m-p/2481163#M559043</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;  Remove joins and use FOR ALL ENTERIES.&lt;/P&gt;&lt;P&gt;use select single not select upto 1 row&lt;/P&gt;&lt;P&gt;remove "INTO CORRESPONDING FIELDS OF"  and use "INTO TABLE OF" and select the fields in the order that u declared  for internal table.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jun 2007 14:28:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performane-tuning/m-p/2481163#M559043</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-26T14:28:28Z</dc:date>
    </item>
    <item>
      <title>Re: performane tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performane-tuning/m-p/2481164#M559044</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;First, make sure that so_matnr is not empty before doing the select. If it is empty, it will have problems using the index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Get rid of the call to sr_progress_bar for every material. If you do it every 10%, that will be more than enough.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You are doing a number of selects within a loop on it_alv. Try changing that to FOR ALL ENTRIES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jun 2007 15:48:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performane-tuning/m-p/2481164#M559044</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-26T15:48:18Z</dc:date>
    </item>
  </channel>
</rss>

