So, I was called into an implementation to quickly super charge the Reporting effort as things were stalled. I needed to get out some invoice customizations which normally doesn’t take long. Things started out well, but something really strange started happening. Almost out of nowhere, no more of my report changes would take after changing a couple of labels. Deploying the reports also began to take 45 minutes. Importing an XPO of the report took an hour and a half.
Strange as hell
Things would compile just fine. And they even looked like they deployed just fine. But again and again, the changes wouldn’t show up. I ran full CIL’s, Full Compiles, refresh Caches, but nothing worked. Again and again, nothing worked as I waited a couple of days to break through this going through bunches of steps. I saw the changes in the report designer, but I didn’t see them in the report.
A Pattern Emerges
I then noticed something. The report file was at 39,060 or 39MB’s. I noticed that it wasn’t changing anymore. Even though I could put things in the visual studio project, when I imported the XPO and exported it out, it stayed the same size.
So, an experiment comes to mind
Looking at the report, which was something that I took over, I noticed that the previous author had duplicated every single country report instead of customizing the existing country reports. I also noticed that after a CU 9 update, the Mynamar and Thailand version of the Sales Invoice Report blew up in size.
So, I deleted the Mynamar report first as the country wasn’t being used by this company.
And the Results:
Deleting the Post CU updated Mynamar Sales Invoice Version took the xpo time down from an hour and a half to 2 minutes. It also reduced the size from 39MB to 27MB’s.
So, I still saw some strange behavior. When the file finally refreshed, I lost all of the changes that I had made to the report definition since it hit the 39060 limit. I also had to create a new project in visual studio for it to work. I also went back and deleted a few other reports, eventually getting it down to 14MB. It improved speed, but not quite the like deleting the Mynamar CU 9 version of the Sales Invoice report did. But at least I no longer had to wait at least 45 minutes to preview a change that I made on Sales Invoice and overall report rendering time also increased significantly.
What have we learned:
In AX2012, it is better to customize existing report designs than duplicate report designs. Sometimes, you may need to duplicate reports and call them separately through logic if your report gets to big. Be very care of the hidden 39 MB limit. For SSRS reports in D365, this is worth checking also though I haven’t quantified these effects yet. I’d love to know if this still applies to the extension based reports.