Whenever I go on site to assist with Epicor ERP technical requests, be it Vantage 8 or Epicor 9, one of the most frequently asked questions is “Why are my Crystal Reports so slow?”
A perceived reason for reports not being presented back to the user quickly enough is that Crystal runs on the server, not the client. Generally this is good because the server is more powerful than the client, but sometimes there will be a queue if 15 people all send reports at the same time.
So, here are my top five tips for improving the performance of Crystal Reports on your Epicor ERP system.
1. Configure virus scanning
Ensure that virus scanning on the server is configured to exclude the server\reports directory and the EpicorData directory. When reports are executed, data is accessed in these two directories and the virus scanner can have an impact on performance.
2. Reduce size of rpt file
When Crystal Reports are executed within Epicor 9, the rpt file is loaded into the Client PC before it can be displayed. If the Crystal Report contains a logo that is full-size then the rpt file can become very large. However, if you reduce the logo to a smaller size before inserting into the report, the rpt file size will be reduced and performance should improve. Making sure the logo is the correct size for printing before you load it into Epicor/Crystal can also have a major impact on printing all your external forms, whether you’re sending them to a real or virtual printer.
3. Remove unnecessary data fields
The Report Data Definitions provided are used as a starting point and when extra data is needed on a report, they are duplicated and extra fields are added as required. Some of the definitions have many extra fields that may not be used in your custom version of a report. If these extra fields are removed from the definition, a smaller XML file will be created. This reduces the amount of data being transferred over the network and improves performance. So don’t just add fields that you need – when you have a working report, remove all the stuff you don’t need!
4. Amend System Monitor settings
Under Default settings in the System Monitor, accessed using the Actions>Configuration menu, there are three settings. The first is ‘Normal’ – this is the number of milliseconds that normal processing will check for any reports that need to be printed. The second is ‘Priority’, which is the number of milliseconds that will be used to check for reports when in Priority mode. The third is ‘Duration’ and this is the number of milliseconds that the Priority mode is in force for. The defaults are 30000, 3000 and 15000.
When a client is logged in, it will check for reports every 30 seconds (the 30000 setting) and print/preview as required. If the client sends in a print to be processed that puts the client into Priority mode, which will then check for prints every three seconds (the 3000 setting). The Priority mode will last for 15 seconds (the 15000 mode). All three of these settings can be amended as required, but caution needs to be exercised to make sure the client is not checking too frequently and for too long. My recommendation is 30000 for Normal, 1500 for Priority and 90000 for Duration. These settings give you the best balance of performance but be careful – it will always default back to the xxx.mfgsys file settings on the PC every time the client is run, so edit this file to make the changes permanent.
5. Compress files
There is a setting in User Maintenance called ‘Enable Network Compression’. This should be enabled for all users who are running a local client over a WAN. This setting compresses the XML and Report Definition files before transmission over the network, which will again improve performance. XML is very verbose and the more compression the better!
I hope these five tips help you to generate some improvement in your Crystal Reports performance with Epicor ERP software. However, if this is only one of the technical issues you’re having with your system, it might be time to go back to basics.
Our years of experience have shown us how Epicor ERP needs to be implemented for growth and profit. So if you’re struggling for ROI, and can’t figure out why, download our guide below to see where you might have gone wrong – and where you can improve.