Application Development and Automation 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: 
Read only

regarding performance tuning

Former Member
0 Likes
754

hi,

i have developed a report program.its taking too much time to fetch the records.so what steps i have to consider to improve the performance. urgent plz.

1 ACCEPTED SOLUTION
Read only

Former Member
7 REPLIES 7
Read only

Former Member
0 Likes
734

Hi Kiran,

There are lot many things need to be checked for performance improvement.

Can you just paste your code here so that by looking at it we can tell the same.

Regards,

Atish

Read only

Former Member
Read only

Former Member
0 Likes
734

hi,

there are many performance steps

but try this one

go to sql trace analyses (st05) and see which select query is taking much of your time and try to reduce it by putting some conditions.

Read only

Former Member
0 Likes
734

Hi

To reduce the runtime follow the below things.

1. try to use fields instead of select * .

2. Dont use Select .... Endselect. instead use

Select Fields ....... from DB into table internal table where Condition.....

3. if ur selecting data from mutiple table use For all entries...

Reward me if its useful

Regards

Ravi

Read only

kesavadas_thekkillath
Active Contributor
0 Likes
734

When u r dealing with heavy amt of data and performing a search....try hashed tables...

Avoid using select....endselect.

Modularize u r program where ever possible...

Avoid unwanted variable declarations......

Avoid declarations of internal tables using occurs...instead declare a structure

and define the internal table as data: itab like table of "structure" with header line...

Optimize ur query using perfect select statements like appending,corresponding,for all entries.....Apply maximun checks in the query....

May b this is a bit useful

Read only

Former Member
0 Likes
734

<b>Tools provided for Performance Analysis</b>

Following are the different tools provided by SAP for performance analysis of an ABAP object

<b>Run time analysis transaction SE30</b>

This transaction gives all the analysis of an ABAP program with respect to the database and the non-database processing.

<b>SQL Trace transaction ST05</b>

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.

You can also perform traces on other items such as authorisation objects.

<b>Authorisation trace analysis</b>

1. Open two sessions

2. Execute transaction ST01 in one of the sessions

3. Select the authorisation checkbox, note the other traces

you can perform (SQL, RFC, Table Buffer etc)

4. Click the 'Trace On' button

5. Within your other session execte the transaction/report

you want to trace or get the user in question to do it

6. Return to the session where you turned the trace on and

click on 'Trace Off' otherwise it will continue to record

all athorisation checks

7. Click on the 'Analysis' button

8. Enter appropriate data into selection screen such as

Username, type of trace records (i.e. Authorization check)

9. Click on the Execute button.

10. Report displaying trace results will now be displayed

then based on that create the index in the table for your database as per your Where condition and in the select fields .

rewardd points if it is usefull....

Girish

Read only

Former Member
0 Likes
734

Hi Kiran,

1.My Suggestion is that just go to the transaction SLIN and enter Program Name.

2. Select all the check boxes of CHECKS tab.

3. Leave blank Additional Functions check boxes.

4. Then Execute the button performance std check [Shift+F8].

5. Then Check next thru F8 also once.

It will give you the error and information Analysis.

Regards,

Naveen Mutyapu.