I would like to get some ideas on how to solve the performance issue on a Navision report object. If I have a report that run very slow, what report section/area I should be checking? Thank you in advance for your help. Steven.
First of all, you should check if you always use the appropriate keys on your record variables. You should always set a key which contains all the fields you are using in your filter operations, if such a key is available. The differences in performance are dramatic, when using an improper key.
Thanks for replying… I have checked all my filter operations and they used the appropriate keys that defined in the tables. If I run the report with filter criterias on the request form it runs quick, but if I don’t specify any filter it runs very slow and tide-up the whole server.
Hm, could you provide some more details and maybe the report’s code? How many entries do the tables have? How many entries are processed with the mentioned filters vs. how many without filters? etc.
Stev, Have you checked the DataItem Property, DataItemTableView, specifically the Key, Order, and Table Filter options. If you are looking at the table and filtering on values/fields that are not in the selected Key you will definitely have perfromance issues. Similarly filtering in OnAfterGetRecord will restrict performance. Also properties such as PriftOnlyIfDetail will restrict performance. Are you using a SQL or C/SIDE database?
See if you have access to Client monitor (Tools, Client monitor). Open the client monitor and click on Start. Then go run the report. After letting the report run a little bit stop the report. Open client monitor screen again. I set a filter on the Parameter field for CPU(MS). I then set a filter on the Number field for value >= 100. This will show you where exactly your report is running slow. Look to see what you need to improve speed.