Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Performance Tuning

Former Member
0 Kudos
88

HI ,

What is meant by performace tuning ,

my report is giving dump because the running time is too much

so how can i procede for this ,.

can any one pls help me

1 ACCEPTED SOLUTION

Former Member
0 Kudos
58

Hi Chaaya!!

Try reading this

http://www.thespot4sap.com/Articles/SAPABAPPerformanceTuning_PerformanceAnalysisTools.asp

http://www.erpgenie.com/abap/performance.htm

few tips:

1.Kindly se if u have mistakenly using select-endselect.

2.using select queries widin loop-endloop.

3.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.

Or else above mentioned links gives details about the performance tuning.

Hope this helps .Kindly rewrd if useful.

6 REPLIES 6

Former Member
0 Kudos
58

Hi Chaaya ,

There is no sigle way for performance tuning as it bepends on the program , what i would suggest is debugg the program and find out which part of the code takes the most time , is that a select statement or some other statement and based on that you will have to decide what you need to do.

Regards

Arun

Former Member
0 Kudos
58

hi,

Runtime - u can use se30 to find the which part is taking more time in ur program. if it database, use ST05 to identify the problem causing SELECTs. If it is ABAP, then scan ur code for Loops, internal tables etc.

regards,

madhumitha

Former Member
0 Kudos
58

hi,

If your program runs for a long time and goes to dump without output its better to run the program in the background.

Generally programs which take much time are run in background .

GOTO sm36 create a job ,select the program name , variants etc.

This solves your problem.

But you have to look into the program why its running for a long time.

check whether nested loops , select statements in loops, etc are there.

Reward points if helpful.

Thanks and Regards,

Narayana.

Former Member
0 Kudos
58

Hi,

Go to SE30 and read Tips & Tricks.That will give you a better guidline.

Former Member
0 Kudos
59

Hi Chaaya!!

Try reading this

http://www.thespot4sap.com/Articles/SAPABAPPerformanceTuning_PerformanceAnalysisTools.asp

http://www.erpgenie.com/abap/performance.htm

few tips:

1.Kindly se if u have mistakenly using select-endselect.

2.using select queries widin loop-endloop.

3.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.

Or else above mentioned links gives details about the performance tuning.

Hope this helps .Kindly rewrd if useful.

Former Member
0 Kudos
58

Hi,

Pls check the database tables u have used in ur program,

as if ,there are 2 many entries in data base table, the program will take longer to execute or either dump,

fr eg the table AFRU with apporx 7 laks enties or table BSEG with nearly about 2.5 lac enties usually take more time to execute.

So in such cases just check the performance of ur database tables by debuging ur program n checking which select is taking more time so that u can work on it.