Acumen’s senior developer for Dynamics NAV – Jurica Bogunovic, recently encountered some obstacles when keeping AL reports in sync with RDL. If you’ve come up against similar challenges, read on to see how Jurica recommends you proceed.
I have had some trouble keeping dataset and RDL of my AL reports in sync. This may seem really obvious if you know the trick, but I could not find clear documentation for the process.
When designing AL reports, if you make a change to dataset in report object, such as adding or removing data items or columns, you need to make sure your RDL file is in sync. Adding the columns or dataitems to RDL by manually editing XML is a sure-fire recipe for breaking your report.
The hint toward the solution is in the “Creating an RDL Layout Report” [https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-howto-rdl-report-layout] article.
When you build your initial report object, you should use Build action in Visual Studio Code (CTRL+SHIFT+B) to automatically generate RDL file from the report.
For this to work you must specify following properties on the report:
- DefaultLayout = RDLC;
- RDLCLayout = ‘MyRDLCReport.rdl’;
Note that RDLCLayout property is a path within the current project. Your path may actually be something like this:
- RDLCLayout = ‘./src/ReportLayout/MyRDLCReport.rdl’;
Once you save your report and Build it, the RDL file will be automatically generated in the appropriate folder.
This leads us to solution: if you make any changes to dataitems/columns in your report file, you should save your report and use Build (CTRL+SHIFT+B), and only then go and edit RDL file using SQL Server Report Builder. Build action will automatically update your RDL file with new dataitems/columns.
Jurica Bogunovic, Fun with C/Side
Jurica Bogunovic is part of Acumen’s expert team of developers and regularly generates helpful content for our customers. Jurica’s content is showcased on his blog “Fun with C/SIDE – Fun and games with C/SIDE and MS Dynamics NAV” Click here to see more useful content, tips and advice: https://funwithcside.wordpress.com