‎2007 Jul 18 1:37 PM
Hi,
I am Siva Reddy,
I am new to ABAP,
I have a doubt,
Please clarify my doubt..
what is difference bet runtime analysis & performance analysis..?
Points will be given to perfect answers..
Regards,
Siva Reddy.
‎2007 Jul 18 1:39 PM
Check the following links:
http://www.sapbrainsonline.com/TOOLS/RUNTIMEanalysis/SAP_runtime_analysis.html
http://www.sapbrainsonline.com/TOOLS/SQLTRACE/SQL_TRACE.html
Regards,
Abhay SIngh.
<b>Rewards point for helpful answer.....</b>
‎2007 Jul 18 1:40 PM
Hi Siva,
Runtime Analysis
Tool for analyzing the execution of program parts or individual statements and for measuring their runtime. Call using transaction code SE30.
Tools provided for Performance Analysis
Following are the different tools provided by SAP for performance analysis of an ABAP object
1. Run time analysis transaction SE30
This transaction gives all the analysis of an ABAP program with respect to the database and the non-database processing.
2. SQL Trace transaction ST05
The trace list has many lines that are not related to the SELECT statement in the ABAP program. This is because the execution of any ABAP program requires additional administrative SQL calls. To restrict the list output, use the filter introducing the trace list.
The trace list contains different SQL statements simultaneously related to the one SELECT statement in the ABAP program. This is because the R/3 Database Interface - a sophisticated component of the R/3 Application Server - maps every Open SQL statement to one or a series of physical database calls and brings it to execution. This mapping, crucial to R/3s performance, depends on the particular call and database system. For example, the SELECT-ENDSELECT loop on the SPFLI table in our test program is mapped to a sequence PREPARE-OPEN-FETCH of physical calls in an Oracle environment.
The WHERE clause in the trace list's SQL statement is different from the WHERE clause in the ABAP statement. This is because in an R/3 system, a client is a self-contained unit with separate master records and its own set of table data (in commercial, organizational, and technical terms). With ABAP, every Open SQL statement automatically executes within the correct client environment. For this reason, a condition with the actual client code is added to every WHERE clause if a client field is a component of the searched table.
To see a statement's execution plan, just position the cursor on the PREPARE statement and choose Explain SQL. A detailed explanation of the execution plan depends on the database system in use.
In addition check these links...
http://www.sapdevelopment.co.uk/perform/performhome.htm
http://www.sapdevelopment.co.uk/perform/perform_pcursor.htm
Thanks.
Reward If Helpful.
‎2007 Jul 18 1:40 PM
Runtime analysis is an development tool that is quite useful for analyzing the performance of an ABAP/4 program or Transaction.
V can analyse the performance of the program using this transaction.
SE30 - Runtime Analysis.
regards...
Abhay Singh.
<b>rewards point for useful answer.....</b>
‎2007 Jul 18 1:40 PM
Run Time Analysis is one way of measuring the performance of the code.It will show us where exactly the program is taking time to excute in terms of ABAP memory and SAP memory.
So we need to take care while coding by avoiding select *,nested loops,minimising the no.of times it has to hit the database to fetch the records,avoiding blank lines,avoid using into correspoding in the select statement,clearing all the varaibles declared,avoiding hardcode,and many more.
All these things will contribute in their own way in enchancing the performance of the code.
<b>award points if found helpful.</b>
‎2007 Jul 18 1:44 PM
refer the links. give ur mail id too for doc's
http://www.thespot4sap.com/Articles/SAPABAPPerformanceTuning_PerformanceAnalysisTools.asp
http://learnabap.blogspot.com/2007/05/runtime-analysis.html
http://www.saptechies.com/se30-runtime-analysis-tool/
regards,
srinivas
<b>*reward for useful answers*</b>
‎2007 Jul 18 2:08 PM
hi
check this url.
http://www.thespot4sap.com/Articles/SAPABAPPerformanceTuning_PerformanceAnalysisTools.asp
run time analysis a method provided for performance analysis..
reward if useful..
‎2007 Jul 18 2:13 PM
Hi Siva!
This runtime analysis tools allows the ABAP/4 programmer to trace the tables used by the SAP dialog/reports programs. In the Analyze button, you can see four more buttons like:-
Hit List
*
Displays the execution time of each statement in the program.
Tables
*
Displays the tables accessed during run time.
Group hit list
*
Displays the execution time of all the statements and grouping them based on the type of command. e.g. performs, SQL and internal tables used.
Hirarchy
*
Displays the execution time of each statement in the actual order in which were executed. Uses indentation to indicate the level of nesting of statements within subroutines.
Any tables use by the transaction or program can be easily trace with the runtime analysis tools.
Go to transaction SE30
Type in the transaction code you want to analyze
4.6x
*
In the Restriction section: select the TMP -> Temporary variant
*
Click the Change button
*
Click the Duratn/type
*
Select None for Aggregation
*
Save the variant and execute again
*
After finishing the process, click back to SE30
*
Use F3 to move back to the initial screen of SE30
*
Click the Analyze Button
*
Click Goto -> Object-centered hit list -> Database tables
3.0x
*
Click Execute
*
After finishing the process, click back to SE30
*
Click the Analyze Button
*
Click the Table Button
After retrieving the table names, you can check the raw data with transaction SE16 - Data Browser or SE11 - Dictionary.
For example, if you want to display the data for MSEG - Material Document table
*
Transaction SE16
*
Type in MSEG for Table name and click execute.
*
Data Browser will display the default selection for you to display data. If you did not change the default and click execute the data browser will display the first 500 records.
*
Click Settings to change the List formats, User parameters and Fields for selection.
*
In 4.6x, you can use SE16N.
*
Transaction SE11 or SE12 (4.6x)
*
Type in MSEG for Object name and click the Display button.
*
Click Utilities -> Table contents for the default selection screen. If you did not change the default and click execute, the Dictionary will display the first 500 record.
*
Click Settings to change the List formats, User parameters and Fields for selection.
*
Transaction SE17
*
Type in the Table Name, put in the Selection value, put a 'X' in the Output column to display the data field and put in the Sort number from 01..99 (if you want to sort).
ools provided for Performance Analysis
Following are the different tools provided by SAP for performance analysis of an ABAP object
1. Run time analysis transaction SE30
This transaction gives all the analysis of an ABAP program with respect to the database and the non-database processing.
2. SQL Trace transaction ST05
The trace list has many lines that are not related to the SELECT statement in the ABAP program. This is because the execution of any ABAP program requires additional administrative SQL calls. To restrict the list output, use the filter introducing the trace list.
The trace list contains different SQL statements simultaneously related to the one SELECT statement in the ABAP program. This is because the R/3 Database Interface - a sophisticated component of the R/3 Application Server - maps every Open SQL statement to one or a series of physical database calls and brings it to execution. This mapping, crucial to R/3s performance, depends on the particular call and database system. For example, the SELECT-ENDSELECT loop on the SPFLI table in our test program is mapped to a sequence PREPARE-OPEN-FETCH of physical calls in an Oracle environment.
The WHERE clause in the trace list's SQL statement is different from the WHERE clause in the ABAP statement. This is because in an R/3 system, a client is a self-contained unit with separate master records and its own set of table data (in commercial, organizational, and technical terms). With ABAP, every Open SQL statement automatically executes within the correct client environment. For this reason, a condition with the actual client code is added to every WHERE clause if a client field is a component of the searched table.
To see a statement's execution plan, just position the cursor on the PREPARE statement and choose Explain SQL. A detailed explanation of the execution plan depends on the database system in use.
null