Compress large documents that are generated in Electronic reporting
You can use the Electronic reporting (ER) framework to configure a solution that fetches transactional data to generate an outbound document. This generated document might be quite large. When this type of document is generated, the Application Object Server (AOS) memory is used to hold it. At some point, the document must then be downloaded from your Microsoft Dynamics 365 Finance application. Currently, the maximum size of a single document that is generated in ER is limited to 2 gigabytes (GB). Additionally, Finance currently limits the size of a downloaded file to 1 GB. Therefore, you must configure an ER solution that reduces the likelihood that these limitations will be exceeded, and that you will receive a Stream was too long or Overflow or underflow in the arithmetic operation exception.
When you configure a solution, you can adjust your ER format in the Operations designer by adding a root element of the Folder type to compress the content that is generated by any of its nested elements. Compression works "just in time," so that peak memory usage and the size of the file that will be downloaded can be reduced.
Note
File compression takes an additional percentage of CPU usage.
For more information about this approach, complete the example in this article.
Example: Compress an outbound document
This example shows how a user who is assigned to the System administrator or Electronic reporting functional consultant role can configure an ER format to compress a generated document.
Prerequisites
Before you complete the procedures in this article, the following steps must be completed.
Note
Currently, the format structure starts from the Report element of the File type and contains XML elements. Therefore, an outbound document will be generated in XML format, and no compression will be used.
Generate an ER format to get an uncompressed document
Notice that the size of the generated document in XML format is 3 kilobytes (KB).
Modify the format to compress the generated output
- Go to Organization administration > Electronic reporting > Configurations.
- On the Configurations page, in the configuration tree, expand Model to learn deferred elements.
- Select the Format to learn deferred XML elements configuration.
- Select Designer to modify the format structure.
- On the Format designer page, on the Format tab, select Add root to add a root format element.
- In the Add dialog box, select Common\Folder.
- Select OK to confirm the addition of the new root element.
- Select Save.
Note
The format structure starts from the element of the Folder type. This element will generate output as a compressed (zip) file. When a document that is generated by the Report element is put in an outbound zip file, its content will be compressed to reduce the size of the outbound file.
Generate an ER format to get a compressed document
On the Format designer page, select Run.
Download the zip file that the web browser offers, and open it for review.
Notice that the size of the generated document in ZIP format is 1 KB.
Note
The compression ratio of the XML file that this zip file holds is 87 percent. The compression ratio depends on the data that is being compressed.
Note
If the ER destination is configured for the format element that generates output (the Report element in this example), compression of the output will be bypassed.
Additional resources
Electronic reporting (ER) overview