Classic Dynamics NAV report upgrade to RDLC format usually takes up to 90% of an upgrade project time. To make this process quick and easy, you can use automated Dynamics NAV upgrade and reporting tools. In this blog post we are explaining how Simplanova Report Converter transforms Classic Dynamics NAV report’s header and footer (supported up to Dynamics NAV 2009 R2) to RDLC (Dynamics NAV 2015 and above).
Conversion of sections and grouping creation
After converting the report all classic Dynamics NAV report sections are transformed to one RDLC report format tablix layout. Each section is converted to the one tablix row and the rectangle control is added. This helps to place text boxes and other controls in it. There are some different conversion features and rules depending on section type.
1. Conversion of header section when PrintOnEveryPage has NO value
- If Classic Dynamics NAV report header section PrintOnEveryPage property has NO value
- The column for header group is created in Report Dataset Designer during the conversion.
- The header group is created in Report Layout Designer.
- The header group has the grouping expression of dataset column with the value of constant ‘0’
- The filter expression (Fields!SRB_Customer_GroupConstant.Value >= “”)
- The tablix row is created for the header section and the controls are placed on it. The header row value in RepeatOnNewPage is set to false for the reason to show only on the first page. If CurrReport.PAGENO function is used in some text box SourceExpr properties in Classic Dynamics NAV report header, this function will be changed to constant value 1 during the conversion.
2. Conversion of header section then PrintOnEveryPage property has YES value
If Classic Dynamics NAV report header section PrintOnEveryPage property has YES value, the column for header group will be created in Report Dataset Designer and the header group will be created in Report Layout Designer during the conversion.
The header group has the grouping expression of dataset column with the value of constant ‘0’ and the filter expression (Fields!SRB_Customer_GroupConstant.Value >= “” not to show empty values).
The tablix row for header group is created with the red HeaderData1 text box in it for listing the values, which will be shown in the report header.
For the listed red text box with header values, the HeaderData1SetTextBox is created in the top left corner of the report header. The rectangular with the header section controls is placed in the report header and controls are using GetData function to get values from HeaderData1 and HeaderData1SetTextBox. If CurrReport.PAGENO function is used in Classic Dynamics NAV report SourceExpr property, this function will be changed to Globals!PageNumber during the conversion.
The section of GroupHeader and GroupFooter
Each report section of GroupHeader or GroupFooter in Classic Dynamics NAV and their controls are converted to the tablix row layout and controls, which belong to field groups, specified in DataItem GroupTotalFields.
1. Conversion of Classic Dynamics NAV report GroupHeader section
- If Classic Dynamics NAV report DataItem has a specified field in GroupTotalFields and GroupHeader type section is created
- The column for GroupHeader implementation will be created (with “Data Source”) as specified in the GroupTotalFields and tablix group by field as specified in the GroupTotalFields in Report Layout Designer during the conversion.
- The grouping expression will be shown in the group field
- The tablix row for GroupHeader section will be created and converted controls will be placed on it.
If grouping is more complex and there are more fields listed in GroupTotalFields in the Classic Dynamics NAV report, more rows in RDLC report tablix will be created. Each value will be listed in GroupTotalFields. If you have more complex cases, we have created C/AL global variables and other functions to determine row visibility using Simplanova Report Converter.
Footer section
If you need footer section to be printed only on the last page (PrintOnEveryPage has NO value), then footer section will be converted to tablix row. If you need footer section to be printed on every page (PrintOnEveryPage section property has YES value), then footer section will be converted to the report footer.
1. Conversion of footer section when PrintOnEveryPage has NO value
If PrintOnEveryPage has NO value in Classic Dynamics NAV report footer section, the column for the footer group will be created in Report Dataset Designer and the footer group will be created in Report Layout Designer during the conversion.
The footer group has the grouping expression of dataset column with the value of constant ‘0’ and the filter expression (Fields!SRB_Customer_GroupConstant.Value >= “”, not to show empty values).
- The tablix row is created for the footer section and the controls are placed on it.
2. Conversion of footer section when PrintOnEveryPage has the value YES
If PrintOnEveryPage has the value YES in Classic Dynamics NAV report footer section, the column for the footer group will be created in Report Dataset Designer and the footer group will be created in Report Layout Designer during the conversion.
The footer group has the grouping expression of dataset column with the value of constant ‘0’ and the filter expression (Fields!SRB_Customer_GroupConstant.Value >= “” not to show empty values).
- The tablix row is created for the footer group (marked red in the FooterData1 text box) for listing the values, which will be shown in the report footer.
For the red text box with the listed footer values, the text box FooterData1SetTextBox is created in the top left corner of the report. The rectangular with the footer section controls is placed in the report footer and controls are using a GetData function to get values from FooterData1 text box with FooterData1SetTextBox. If CurrReport.PAGENO function is used in Classic Dynamics NAV report SourceExpr property, this function will be changed to Globals!PageNumber during the conversion.
You can find more information about Simplanova Report Converter features here or request a free demo.