Skip to Content
author's profile photo Former Member
Former Member

time consumption for a report

hi experts,

I have written a code for taking debtors list for SD.I have used bkpf,bseg,bsid,bsad for this ALv report. When i run this report it is taking 4 minutes.I fear that it may take more than that in future.So what can i do for this .Bseg is a cluster table thats the reason for it .But how to access it.

regards,

mani

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

3 Answers

  • author's profile photo Former Member
    Former Member
    Posted on Jan 21, 2008 at 07:44 AM

    Go to tranx SE30 here you will get Tips and Trciks for the performance tuning.

    Check it carefully and check whether you can do something for improving performance of you code.

    It will help you a lot and will reduce your Execution time.

    If you are using READ TABLE command in your program then you can check whether you can use HASHED TABLE it will improve performance of your code a lot but it has some restrictions.

    Mukesh Kumar.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jan 21, 2008 at 07:47 AM

    Hi,

    Make sure that for BSEG table make use of all the key fields.

    Thanks,

    Sriram Ponna.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jan 21, 2008 at 08:50 AM

    Hi Mani,

    I will explain some of the points to improve the performance of the report try to write code according to that ok.

    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.

    Reward points if helpful.

    Kiran Kumar.G.A

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.