<?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 tuning in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/1475627#M223050</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) Remove corresponding from select satement&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) Remove * from select&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3) Select field in sequence as defined in database&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4) Avoid unnecessary selects&lt;/P&gt;&lt;P&gt;i.e check for internal table not initial&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5) Use all entries and sort table by key fields&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;6) Remove selects ferom loop and use binary search&lt;/P&gt;&lt;P&gt;7) Try to use secondary index when you don't have &lt;/P&gt;&lt;P&gt;full key.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":smiling_face_with_sunglasses:"&gt;😎&lt;/span&gt; Modify internal table use transporting option&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;9) Avoid nested loop . Use read table and loop at itab&lt;/P&gt;&lt;P&gt;from sy-tabix statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;10) free intrenal table memory wnen table is not &lt;/P&gt;&lt;P&gt;required for further processing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;11)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Follow below logic.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if not it_plant[] is initial.&lt;/P&gt;&lt;P&gt;it_plant1[] = it_plant[].&lt;/P&gt;&lt;P&gt;sort it_plant1 by werks.&lt;/P&gt;&lt;P&gt;delete adjacent duplicates from it_plant1 comparing werks &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT AUFNR KTEXT USER4 OBJNR INTO CORRESPONDING FIELDS OF TABLE I_AUFKTAB&lt;/P&gt;&lt;P&gt;FROM AUFK&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN it_plant1&lt;/P&gt;&lt;P&gt;WHERE AUFNR IN S_AUFNR AND&lt;/P&gt;&lt;P&gt;KTEXT IN S_KTEXT AND&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WERKS IN S_WERKS AND&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AUART IN S_AUART AND&lt;/P&gt;&lt;P&gt;USER4 IN S_USER4 AND&lt;/P&gt;&lt;P&gt;werks eq it_plant1-werks.&lt;/P&gt;&lt;P&gt;free it_plant1.&lt;/P&gt;&lt;P&gt;Endif.&lt;/P&gt;&lt;P&gt;&lt;/P&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;amole&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 30 Aug 2006 12:22:18 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-08-30T12:22:18Z</dc:date>
    <item>
      <title>Performance tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/1475620#M223043</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi. &lt;/P&gt;&lt;P&gt;I have the following select statement which gives me time out error.&lt;/P&gt;&lt;P&gt;Table TB_MARC is having upto 10000 materials.&lt;/P&gt;&lt;P&gt;Can anyone suggest how can i tune this code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT TB_MARC[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT B&lt;SUB&gt;MATNR  A&lt;/SUB&gt;VBELN   B&lt;SUB&gt;POSNR B&lt;/SUB&gt;WERKS C&lt;SUB&gt;BMENG C&lt;/SUB&gt;EDATU&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     INTO CORRESPONDING FIELDS OF TABLE TB_VBEP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;INTO TABLE TB_VBEP&lt;/P&gt;&lt;P&gt;      FROM VBAK AS A INNER JOIN VBAP AS B&lt;/P&gt;&lt;P&gt;             ON A&lt;SUB&gt;VBELN = B&lt;/SUB&gt;VBELN&lt;/P&gt;&lt;P&gt;           INNER JOIN VBEP AS C&lt;/P&gt;&lt;P&gt;             ON A&lt;SUB&gt;VBELN = C&lt;/SUB&gt;VBELN AND B&lt;SUB&gt;POSNR = C&lt;/SUB&gt;POSNR&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN TB_MARC&lt;/P&gt;&lt;P&gt;      WHERE A~VKORG = '7500' AND&lt;/P&gt;&lt;P&gt;            B~MATNR = TB_MARC-MATNR AND&lt;/P&gt;&lt;P&gt;            B~WERKS = '7500' AND&lt;/P&gt;&lt;P&gt;            B~ABGRU = ' '  AND  "CONSIDERS ONLY NOT REJECTED SALES ORDER&lt;/P&gt;&lt;P&gt;            C~EDATU &amp;gt;= L_PDAT  " 21 Past days from current date&lt;/P&gt;&lt;P&gt;        AND C~EDATU LE L_EDAT. " End date after 1 yr from current month&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Aug 2006 12:03:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/1475620#M223043</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-30T12:03:41Z</dc:date>
    </item>
    <item>
      <title>Re: Performance tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/1475621#M223044</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try not to do 2 joins in one select statment .&lt;/P&gt;&lt;P&gt;FIrs do join for vbak and vbap. then do rest of code to read data from vbep.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Aug 2006 12:09:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/1475621#M223044</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-30T12:09:41Z</dc:date>
    </item>
    <item>
      <title>Re: Performance tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/1475622#M223045</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi osk,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Since you your base table TB_MARC is having upto 10000 records the program will select data in loop that may times from the databse.&lt;/P&gt;&lt;P&gt; Try to remove the FOR ALL ENTRIES options. Instead data using array fetch and then try filtering the data in the program. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Cheers&lt;/P&gt;&lt;P&gt; VJ&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Aug 2006 12:10:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/1475622#M223045</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-30T12:10:22Z</dc:date>
    </item>
    <item>
      <title>Re: Performance tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/1475623#M223046</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;You can check stuff with transaction ST03 (= Workload Analysis) or ST05 (= Performance Analysis SQL Trace) to discover the bottleneck(s).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Eddy&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PS. &lt;/P&gt;&lt;P&gt;Put yourself on the SDN world map (http://sdn.idizaai.be/sdn_world/sdn_world.html) and earn 25 points. &lt;/P&gt;&lt;P&gt;Spread the wor(l)d!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Aug 2006 12:13:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/1475623#M223046</guid>
      <dc:creator>eddy_declercq</dc:creator>
      <dc:date>2006-08-30T12:13:29Z</dc:date>
    </item>
    <item>
      <title>Re: Performance tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/1475624#M223047</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;it is not recommended to use joins while retriving data from more than 2 tables better to use for all entries and make it loop for further modifying internal tableentries&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Aug 2006 12:15:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/1475624#M223047</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-30T12:15:15Z</dc:date>
    </item>
    <item>
      <title>Re: Performance tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/1475625#M223048</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;add this line that you have commented and try again,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF TABLE TB_VBEP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bcz it is taking maximum time to get the data from the database table.&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>Wed, 30 Aug 2006 12:15:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/1475625#M223048</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-30T12:15:28Z</dc:date>
    </item>
    <item>
      <title>Re: Performance tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/1475626#M223049</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I would suggest you to do is &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP at TB_MARC.&lt;/P&gt;&lt;P&gt;  at new matnr.&lt;/P&gt;&lt;P&gt;     select query.&lt;/P&gt;&lt;P&gt;  endat.&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;Anurag&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Aug 2006 12:18:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/1475626#M223049</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-30T12:18:20Z</dc:date>
    </item>
    <item>
      <title>Re: Performance tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/1475627#M223050</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) Remove corresponding from select satement&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) Remove * from select&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3) Select field in sequence as defined in database&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4) Avoid unnecessary selects&lt;/P&gt;&lt;P&gt;i.e check for internal table not initial&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5) Use all entries and sort table by key fields&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;6) Remove selects ferom loop and use binary search&lt;/P&gt;&lt;P&gt;7) Try to use secondary index when you don't have &lt;/P&gt;&lt;P&gt;full key.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":smiling_face_with_sunglasses:"&gt;😎&lt;/span&gt; Modify internal table use transporting option&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;9) Avoid nested loop . Use read table and loop at itab&lt;/P&gt;&lt;P&gt;from sy-tabix statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;10) free intrenal table memory wnen table is not &lt;/P&gt;&lt;P&gt;required for further processing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;11)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Follow below logic.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if not it_plant[] is initial.&lt;/P&gt;&lt;P&gt;it_plant1[] = it_plant[].&lt;/P&gt;&lt;P&gt;sort it_plant1 by werks.&lt;/P&gt;&lt;P&gt;delete adjacent duplicates from it_plant1 comparing werks &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT AUFNR KTEXT USER4 OBJNR INTO CORRESPONDING FIELDS OF TABLE I_AUFKTAB&lt;/P&gt;&lt;P&gt;FROM AUFK&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN it_plant1&lt;/P&gt;&lt;P&gt;WHERE AUFNR IN S_AUFNR AND&lt;/P&gt;&lt;P&gt;KTEXT IN S_KTEXT AND&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WERKS IN S_WERKS AND&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AUART IN S_AUART AND&lt;/P&gt;&lt;P&gt;USER4 IN S_USER4 AND&lt;/P&gt;&lt;P&gt;werks eq it_plant1-werks.&lt;/P&gt;&lt;P&gt;free it_plant1.&lt;/P&gt;&lt;P&gt;Endif.&lt;/P&gt;&lt;P&gt;&lt;/P&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;amole&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Aug 2006 12:22:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/1475627#M223050</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-30T12:22:18Z</dc:date>
    </item>
    <item>
      <title>Re: Performance tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/1475628#M223051</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello osk,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;try creating a view for the tables and access. Internally database optimises the access to the tables.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Aug 2006 12:31:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/1475628#M223051</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-30T12:31:34Z</dc:date>
    </item>
    <item>
      <title>Re: Performance tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/1475629#M223052</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Your problem is due to the fact that you are not using any key fields in your WHERE clause.  I think all you can do is run it in the background.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Aug 2006 13:51:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/1475629#M223052</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-30T13:51:22Z</dc:date>
    </item>
    <item>
      <title>Re: Performance tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/1475630#M223053</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Did you try creating the index in the order of the where condition, this however has a disadvantage any insertion/updation will take longer if there are many indexes defined.  SAP suggest less than 10 indexes for the table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hith&lt;/P&gt;&lt;P&gt;Sunil Achyut&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Aug 2006 14:17:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/1475630#M223053</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-30T14:17:47Z</dc:date>
    </item>
  </channel>
</rss>

