Liberty Grove Software Logo
Liberty Grove Software
Dynamics NAV Development | Consulting | Upgrades | Training
Menu 

Converting Dynamics NAV Classic Reports To RDLC – Part 1

An Inevitable Conversion

As Microsoft has already announced, Dynamics NAV 2013 will run only RDLC reports and will discontinue the use of NAV classic reports. This means all customers upgrading to NAV 2013 will have to convert their classic reports to the RDLC format.

Some will undoubtedly dislike this forced conversion, but we believe it’s an opportunity for NAV customers to greatly enhance their reporting capabilities, not only for NAV 2013, but also for NAV 2009, where RDLC reports are optional.

What is RDLC?

RDLC stands for “Report Definition Language Client-side”, an XML markup language used by Microsoft’s Visual Studio to define and store report definitions.

RDLC reports are rendered by a .Net control called Report Viewer, which can be embedded in .Net applications.

The Report Viewer does not play a part in retrieving data; it merely formats and presents the data supplied by its host application. This all happens locally, i.e. on the client, which explains the “Client-side” portion of RDLC’s full name.

Dynamics NAV acts as the host application for the RDLC Report Viewer. It is therefore up to NAV to retrieve the data and supply it to the Report Viewer along with the RDLC report definition.

How does NAV retrieve the reporting data? First, let’s take a look at the existing situation in NAV 2009 R2.

RDLC in NAV 2009 R2

When you run a report from NAV’s classic client, it will be a classic report – no exceptions – which means NAV will process the classic data items and the classic layout in concert to render the report in the classic report viewer.

When you run a report from the RoleTailored Client (RTC), the first thing NAV must do is determine if the report has an RDLC layout. If it does not, NAV will invoke classic client functionality to run the classic version of the report.

If the report does have an RDLC layout, NAV will still use the classic data items, but, in this case, it will retrieve all the data first, flatten it into one dataset, then hand both the flattened dataset and the RDLC layout off to the RDLC Report Viewer for rendering. Note, none of the classic report code beyond the data items will be processed (i.e. none of the code in the report section triggers will fire):

Microsoft Dynamics NAV 2009 RDLC Report Processing Diagram

Note, also, that only data item fields placed in one of the sections of the classic report will make its way into the dataset for the RDLC report.

RDLC in NAV 2013

In NAV 2013, there won’t be any classic reports, so NAV will presumably retrieve and process the data using some other mechanism (word is the old classic report object will become strictly a dataset designer, but we’re waiting until we get my hands on the final version of NAV 2013 to verify). And, as mentioned, the only way to render reports will be via the RDLC Report Viewer.

The RDLC in NAV 2013 will upgraded to the 2008 version, which will add even more reporting functionality to its already impressive toolset.

However, Microsoft has announced that customers cannot upgrade directly to NAV 2013. They must go through NAV 2009. So the remaining parts of this article will focus entirely on converting reports to the RDLC in 2009 R2.

RDLC vs RDL

Just to avoid any confusion, we’ll finish today’s article by clarifying the differences between RDLC and RDL.

RDL is the report definition language used by Sequel Server Reporting Services (SSRS), Microsoft’s powerful server-based reporting engine. RDL files are created by SQL Server’s Business Intelligence Studio, which is a specialized implementation of Visual Studio geared toward BI projects.

RDL and RDLC are close cousins. For example, they share the same XML schema. But, as mentioned, RDLC files contain none of the information required to retrieve data. This gives them the flexibility required for use in general applications, where data may sometimes come from a program or other non-standard data source.

Next Post

Now that we’ve gotten the background information out of the way, part 2 of this article will look at the basic process of converting classic reports to RDLC.

22 Responses to Converting Dynamics NAV Classic Reports To RDLC – Part 1

  1. […] First, we might as well be up-front: the basic process of converting Dynamics NAV classic reports to RDLC layouts is clunky, time-consuming, and somewhat error-prone. This is caused in large part because you have to repeatedly work back and forth between the NAV classic report designer and the Visual Studio report designer (if you don’t understand why, see Converting Dynamics NAV Classic Reports To RDLC – Part 1). […]

  2. Hi

    There is no mention of needing to be 2009 role tailored in order to upgrade to NAV 2013 in the Beta documentation, only 2009.

    So, is it therefore really neccesary to go for RDLC in 2009, or simply run the upgrade tools in 2013 to convert the reports for you?

    The tools in 2009 to convert reports to RDLC were awful. I am hoping they have improved for 2013.

    • Hi Ian,

      Had a chance to load up NAV 2013 and verify there is no facility to convert classic reports in the new development environment, i.e. no ability to create a Layout suggestion, or even to delete an existing layout. During the upgrade process, classic report data items will be transformed to the new report dataset designer version, but the classic layout will not be transformed to RDLC. That means you’d have to build the report layout from scratch.

      So, basically, if you want some help during the conversion process (as flawed as the NAV 2009 conversion tools are), you have to convert your reports in NAV 2009.

      Wayne

Leave a reply

U.S. (Chicago) Office:

18W140 W. Butterfield Road
15th Floor
Oakbrook Terrace IL 60181
Ph: 630-858-7388
nav@libertygrove.com

Canadian Office:

4711 Yonge Street
10th Floor
Toronto ON M2N 6K8
Ph: 416-646-8484
nav@libertygrove.com

© 1999-2017 Liberty Grove Software Inc. | Privacy Policy