<?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 and Tuning in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-and-tuning/m-p/1868574#M365890</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For some reason this is my favourite:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/people/rob.burbank/blog/2006/11/16/performance--what-will-kill-you-and-what-will-leave-you-with-only-a-flesh-wound&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 07 Jan 2007 17:51:37 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-01-07T17:51:37Z</dc:date>
    <item>
      <title>Performance and Tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-and-tuning/m-p/1868569#M365885</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Is Performance, tuning used to improve the runtime performance of Reports only ..Can I get more description of Performance and Tuning..........&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 06 Jan 2007 21:18:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-and-tuning/m-p/1868569#M365885</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-01-06T21:18:19Z</dc:date>
    </item>
    <item>
      <title>Re: Performance and Tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-and-tuning/m-p/1868570#M365886</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Performance tuning can be used in all ABAP developments, not just reporting, you could have a dialog transaction that performs poorly due do data access, or unnecessary processing of data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check transaction SE30 for the runtime analysis and the "Tips and Tricks" button.&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>Sat, 06 Jan 2007 21:46:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-and-tuning/m-p/1868570#M365886</guid>
      <dc:creator>RichHeilman</dc:creator>
      <dc:date>2007-01-06T21:46:43Z</dc:date>
    </item>
    <item>
      <title>Re: Performance and Tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-and-tuning/m-p/1868571#M365887</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Is there any documentation/link available where I can check this....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 06 Jan 2007 21:50:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-and-tuning/m-p/1868571#M365887</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-01-06T21:50:11Z</dc:date>
    </item>
    <item>
      <title>Re: Performance and Tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-and-tuning/m-p/1868572#M365888</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="http://www.thespot4sap.com/Articles/SAPABAPPerformanceTuning_PerformanceAnalysisTools.asp" target="test_blank"&gt;http://www.thespot4sap.com/Articles/SAPABAPPerformanceTuning_PerformanceAnalysisTools.asp&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.erpgenie.com/abap/performance.htm" target="test_blank"&gt;http://www.erpgenie.com/abap/performance.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/performance-tuning-for-data-selection-statement.htm" target="test_blank"&gt;http://www.sap-img.com/abap/performance-tuning-for-data-selection-statement.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/abap" target="test_blank"&gt;https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/abap&lt;/A&gt;&lt;EM&gt;Performance&lt;/EM&gt;and+Tuning&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw2004s/helpdata/en/c6/617cafe68c11d2b2ab080009b43351/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw2004s/helpdata/en/c6/617cafe68c11d2b2ab080009b43351/frameset.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw2004s/helpdata/en/d1/801f7c454211d189710000e8322d00/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw2004s/helpdata/en/d1/801f7c454211d189710000e8322d00/frameset.htm&lt;/A&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>Sat, 06 Jan 2007 21:56:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-and-tuning/m-p/1868572#M365888</guid>
      <dc:creator>RichHeilman</dc:creator>
      <dc:date>2007-01-06T21:56:17Z</dc:date>
    </item>
    <item>
      <title>Re: Performance and Tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-and-tuning/m-p/1868573#M365889</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;adding to the above.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SE30 - gives you a run time analysis and points out the issues more at design time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ST05 - Is the most useful if you want to track time taken for execution of each of the sections.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SM50 - Will give you a work process overview, not sure at a program level how can it help you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Some times you will have to use a combination of SE30 and ST05.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would like to use St05 personally.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_47x200/helpdata/en/f2/31adaa810c11d288ec0000e8200722/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_47x200/helpdata/en/f2/31adaa810c11d288ec0000e8200722/frameset.htm&lt;/A&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;Anver&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 07 Jan 2007 05:20:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-and-tuning/m-p/1868573#M365889</guid>
      <dc:creator>anversha_s</dc:creator>
      <dc:date>2007-01-07T05:20:57Z</dc:date>
    </item>
    <item>
      <title>Re: Performance and Tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-and-tuning/m-p/1868574#M365890</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For some reason this is my favourite:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/people/rob.burbank/blog/2006/11/16/performance--what-will-kill-you-and-what-will-leave-you-with-only-a-flesh-wound&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 07 Jan 2007 17:51:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-and-tuning/m-p/1868574#M365890</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-01-07T17:51:37Z</dc:date>
    </item>
    <item>
      <title>Re: Performance and Tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-and-tuning/m-p/1868575#M365891</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What are available techniques available for Improving performance of Reports...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Jan 2007 01:42:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-and-tuning/m-p/1868575#M365891</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-01-08T01:42:13Z</dc:date>
    </item>
    <item>
      <title>Re: Performance and Tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-and-tuning/m-p/1868576#M365892</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;CHk this blog....&lt;/P&gt;&lt;P&gt;/people/rob.burbank/blog/2006/11/16/performance--what-will-kill-you-and-what-will-leave-you-with-only-a-flesh-wound&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here are some performance TIPS &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT with WHERE clause&lt;/P&gt;&lt;P&gt;Working with internal tables&lt;/P&gt;&lt;P&gt;For all entries&lt;/P&gt;&lt;P&gt;Tools for performance tuning&lt;/P&gt;&lt;P&gt;Using table buffering&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT with WHERE clause&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you use a LOOP AT statement with a WHERE clause, the table whole will be read through &lt;/P&gt;&lt;P&gt;and not only the entriers that satifies the WHERE clause. This can lead to performance &lt;/P&gt;&lt;P&gt;problems when a very large internal table is read many times with a WHERE clause.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The solution is to sort the table on the keyfields, use a READ statment to find &lt;/P&gt;&lt;P&gt;the first entry that satifies the key. Then you can start the loop here, and check for&lt;/P&gt;&lt;P&gt;changes in the keyfield to exit the loop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do not&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at gi_mseg into g_mseg&lt;/P&gt;&lt;P&gt;where matnr = p_matnr and &lt;/P&gt;&lt;P&gt;werks = p_werks and &lt;/P&gt;&lt;P&gt;lgort = p_lgort and &lt;/P&gt;&lt;P&gt;sobkz = space,&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Instead use:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sort internal table with entries from MSEG&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;sort gi_mseg by matnr werks lgort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Find index of first entry that satifies the where clause&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: &lt;/P&gt;&lt;P&gt;l_tabix_from like sy-tabix. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table gi_mseg with key matnr = p_matnr &lt;/P&gt;&lt;P&gt;werks = p_werks &lt;/P&gt;&lt;P&gt;lgort = p_lgort binary search &lt;/P&gt;&lt;P&gt;into g_mseg. &lt;/P&gt;&lt;P&gt;check sy-tabix &amp;gt; 0. &lt;/P&gt;&lt;P&gt;move sy-tabix to l_tabix_from. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Loop over the table from l_tabix_from, check for changes in keyfields, and&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if necessary check other fields.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at gi_mseg into g_mseg from l_tabix_from. &lt;/P&gt;&lt;P&gt;if g_mseg-matnr &amp;lt;&amp;gt; p_matnr or &lt;/P&gt;&lt;P&gt;g_mseg-werks &amp;lt;&amp;gt; p_werks or &lt;/P&gt;&lt;P&gt;g_mseg-lgort &amp;lt;&amp;gt; p_lgort. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Stop loop &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;exit. &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;Check other fields &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check g_mseg-sobkz = space. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;..... do something ......&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For all entries&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The for all entries creates a where clause, where all the entries in the driver table are combined with OR. If the number of entries in the driver table is larger than rsdb/max_blocking_factor, several similar SQL statements are executed to limit the length of the WHERE clause. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Some steps that might make FOR ALL ENTRIES more efficient:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- Removing duplicates from the the driver table &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- Sorting the driver table &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- If possible, convert the data in the driver table to ranges so a BETWEEN statement is used instead of and OR statement:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- FOR ALL ENTRIES IN i_tab&lt;/P&gt;&lt;P&gt;WHERE mykey &amp;gt;= i_tab-low and&lt;/P&gt;&lt;P&gt;mykey &amp;lt;= i_tab-high.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tools for performance tuning&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The runtime analysis (SE30)&lt;/P&gt;&lt;P&gt;SQL Trace (ST05)&lt;/P&gt;&lt;P&gt;Tips and Tricks tool &lt;/P&gt;&lt;P&gt;The performance database&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Using table buffering&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Using buffered tables improves the performance considerably. Note that in some cases a statement can not be used with a buffered table, so when using these staments the buffer will be bypassed. These staments are:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Select DISTINCT &lt;/P&gt;&lt;P&gt;ORDER BY / GROUP BY / HAVING clause &lt;/P&gt;&lt;P&gt;Any WHERE clasuse that contains a subquery or IS NULL expression &lt;/P&gt;&lt;P&gt;JOIN &lt;/P&gt;&lt;P&gt;A SELECT... FOR UPDATE &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you want to explicitly bypass the buffer, use the BYPASS BUFFER addition to the SELECT clause.&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;Balaji&lt;/P&gt;&lt;P&gt;**Rewards if answers are useful&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Jan 2007 08:45:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-and-tuning/m-p/1868576#M365892</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-01-08T08:45:41Z</dc:date>
    </item>
    <item>
      <title>Re: Performance and Tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-and-tuning/m-p/1868577#M365893</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Have a look at below link.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5d0db4c9-0e01-0010-b68f-9b1408d5f234"&amp;gt;Performance Tuning Tips&amp;lt;/a&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Vibha &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Please mark all the helpful answers&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Jan 2007 08:52:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-and-tuning/m-p/1868577#M365893</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-01-08T08:52:48Z</dc:date>
    </item>
  </channel>
</rss>

