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: 

Record

Former Member
0 Kudos

Hi all,

How to Record Performace data plzz telmeee.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi Mahitha,

This is kiran Kumar.G.(working on sap).I will give some steps.you better to follow those steps to get ur report performance.

If u r satisfy with my answer give me REWARD POINTS.

HAVE A NICE DAY.

STEPS:

1.OPEN UR REPORT IN SE38 TRANSACTION.

2.SELECT THE MENU PATH

UTILITIES-->MORE UTILITIES-->RUNTIME ANALYSIS

3.SELECT THE PROGRAM RADIO BUTTON AND GIVE UR REPORT NAME THERE.AND CLICK <b>EXECUTE</b> BUTTON

4.IT WILL TAKE U TO ANOTHER SCREEN THERE U CAN EXECUTE UR REPORT AND COME BACK.

5.CLICK ON ANALYZE BUTTON.(PRESENT IN BELOW OF THE SCREEN).

THEN U WILL GET ONE GRAPH

NOTE:

1.IF IT IS RED UR PROGRAM IS HAVING VERY POOR PERFORMANCE

2.IF IT IS GREEN IT IS OK.

ABAP GRAPH : TELLS UR CODING IN THE REPORT.

DATABASE GRAPH : U R RETREIVE DATA FROM DATABASE IN UR REPORT..

SOME STEPS USED TO IMPROVE UR PERFORMANCE:

1. Avoid using SELECT...ENDSELECT... construct and use SELECT ... INTO TABLE.

2. Use WHERE clause in your SELECT statement to restrict the volume of data retrieved.

3. Design your Query to Use as much index fields as possible from left to right in your WHERE statement

4. Use FOR ALL ENTRIES in your SELECT statement to retrieve the matching records at one shot.

5. Avoid using nested SELECT statement, SELECT within LOOPs.

6. Avoid using INTO CORRESPONDING FIELDS OF TABLE. Instead use INTO TABLE.

7. Avoid using SELECT * and Select only the required fields from the table.

8. Avoid nested loops when working with large internal tables.

9. Use assign instead of into in LOOPs for table types with large work areas

10. When in doubt call transaction SE30 and use the examples and check your code

11. Whenever using READ TABLE use BINARY SEARCH addition to speed up the search. Be sure to sort the internal table before binary search. This is a general thumb rule but typically if you are sure that the data in internal table is less than 200 entries you need not do SORT and use BINARY SEARCH since this is an overhead in performance.

12. Use "CHECK" instead of IF/ENDIF whenever possible.

13. Use "CASE" instead of IF/ENDIF whenever possible.

14. Use "MOVE" with individual variable/field moves instead of "MOVE-

CORRESPONDING", creates more coding but is more effcient.

Award points if helpful.

Kiran Kumar.G

Have a Nice Day..

2 REPLIES 2

Kanagaraja_L
Active Contributor
0 Kudos

Hi Mahitha,

At that time of Development remember the below points

1.Avoid using SELECT...ENDSELECT... construct and use SELECT ... INTO TABLE.

2.Use WHERE clause in your SELECT statement to restrict the volume of data retrieved.

3.Design your Query to Use as much index fields as possible from left to right in your WHERE statement

4.Either enable buffering in your database table or create Indexes to speed up the query.

5. Use FOR ALL ENTRIES in your SELECT statement to retrieve the matching records at one shot.

6.Avoid using nested SELECT statement, SELECT within LOOPs.

7.Avoid using INTO CORRESPONDING FIELDS OF TABLE. Instead use INTO TABLE.

8.Avoid using SELECT * and Select only the required fields from the table.

9.Avoid nested loops when working with large internal tables.

10. Use assign instead of into in LOOPs for table types with large work areas

11.When in doubt call transaction SE30 and use the examples and check your code

12.Whenever using READ TABLE use BINARY SEARCH addition to speed up the search. Be sure to sort the internal table before binary search.

13.Use "CHECK" instead of IF/ENDIF whenever possible.

14.Use "CASE" instead of IF/ENDIF whenever possible.

15. Use "MOVE" with individual variable/field moves instead of "MOVE-CORRESPONDING", creates more coding but is more effcient.

Check the Below link

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/ecdbe890-0201-0010-ad94-a8dca265...

/people/randolf.eilenberger/blog/2007/07/02/code-inspector146s-performance-checks-ii

https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5d0db4c9-0e01-0010-b68f-9b1...

http://www.sap-img.com/abap/performance-tuning-for-data-selection-statement.htm

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

https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/abapPerformanceand+Tuning&

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

http://www.sap-img.com/abap/performance-tuning-for-data-selection-statement.htm

https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/abapPerformanceand+Tuning&

http://help.sap.com/saphelp_nw2004s/helpdata/en/c6/617cafe68c11d2b2ab080009b43351/frameset.htm

http://help.sap.com/saphelp_nw2004s/helpdata/en/d1/801f7c454211d189710000e8322d00/frameset.htm

Kanagaraja L

Former Member
0 Kudos

Hi Mahitha,

This is kiran Kumar.G.(working on sap).I will give some steps.you better to follow those steps to get ur report performance.

If u r satisfy with my answer give me REWARD POINTS.

HAVE A NICE DAY.

STEPS:

1.OPEN UR REPORT IN SE38 TRANSACTION.

2.SELECT THE MENU PATH

UTILITIES-->MORE UTILITIES-->RUNTIME ANALYSIS

3.SELECT THE PROGRAM RADIO BUTTON AND GIVE UR REPORT NAME THERE.AND CLICK <b>EXECUTE</b> BUTTON

4.IT WILL TAKE U TO ANOTHER SCREEN THERE U CAN EXECUTE UR REPORT AND COME BACK.

5.CLICK ON ANALYZE BUTTON.(PRESENT IN BELOW OF THE SCREEN).

THEN U WILL GET ONE GRAPH

NOTE:

1.IF IT IS RED UR PROGRAM IS HAVING VERY POOR PERFORMANCE

2.IF IT IS GREEN IT IS OK.

ABAP GRAPH : TELLS UR CODING IN THE REPORT.

DATABASE GRAPH : U R RETREIVE DATA FROM DATABASE IN UR REPORT..

SOME STEPS USED TO IMPROVE UR PERFORMANCE:

1. Avoid using SELECT...ENDSELECT... construct and use SELECT ... INTO TABLE.

2. Use WHERE clause in your SELECT statement to restrict the volume of data retrieved.

3. Design your Query to Use as much index fields as possible from left to right in your WHERE statement

4. Use FOR ALL ENTRIES in your SELECT statement to retrieve the matching records at one shot.

5. Avoid using nested SELECT statement, SELECT within LOOPs.

6. Avoid using INTO CORRESPONDING FIELDS OF TABLE. Instead use INTO TABLE.

7. Avoid using SELECT * and Select only the required fields from the table.

8. Avoid nested loops when working with large internal tables.

9. Use assign instead of into in LOOPs for table types with large work areas

10. When in doubt call transaction SE30 and use the examples and check your code

11. Whenever using READ TABLE use BINARY SEARCH addition to speed up the search. Be sure to sort the internal table before binary search. This is a general thumb rule but typically if you are sure that the data in internal table is less than 200 entries you need not do SORT and use BINARY SEARCH since this is an overhead in performance.

12. Use "CHECK" instead of IF/ENDIF whenever possible.

13. Use "CASE" instead of IF/ENDIF whenever possible.

14. Use "MOVE" with individual variable/field moves instead of "MOVE-

CORRESPONDING", creates more coding but is more effcient.

Award points if helpful.

Kiran Kumar.G

Have a Nice Day..