Moving reports from 2009 to 2013

Rob_HansenRob_Hansen Member Posts: 296
edited 2013-10-31 in NAV Three Tier
Does anyone know what the process will be to migrate a NAV 2009 R2 report to the updated report designer in NAV 2013? I'm trying to determine if a technical upgrade to the NAV 2013 executable will be possible while keeping NAV 2009 R2 objects (yes, realizing forms and dataports are gone).

In the beta release, I imported a NAV 2009 R2 report, and ran the option under Tools to "Upgrade Report" for it. Even after doing that, if I go to Design it, I get an error that the report must be upgraded before it can be modified. Is the "Upgrade Report" function just not working in the beta release yet?

Comments

  • Rob_HansenRob_Hansen Member Posts: 296
    Never mind my issue with upgrading reports...there was a compile error in the report (field reference I hadn't moved into my test DB) so it's working now.

    So...as long as all custom reports are upgraded properly, I would think it will continue to be an option to do technical upgrades to the NAV 2013 executable for customers currently on NAV 2009 RTC. Am i correct there?
  • DenSterDenSter Member Posts: 8,304
    This conversion process removes the classic sections (including all of the code that is in section triggers), and 'translates' the NAV report design to the dataset structure. You have to deal with section code in NAV 2009 before going to NAV 2013.

    As long as you have a working RDLC report in NAV 2009, this should convert to NAV 2013 100%. If your report is a classic report in NAV 2009, which would not have any RDLC, you might as well start from scratch in NAV 2013 and take advantage of the improved capabilities.
  • kinekine Member Posts: 12,562
    And do not forget that there is additional step which must be done - all objects must go through "transformation" where FORM isreplaced with PAGE in different places (properties, code...)
    Kamil Sacek
    MVP - Dynamics NAV
    My BLOG
    NAVERTICA a.s.
  • DenSterDenSter Member Posts: 8,304
    The report upgrade process doesn't take care of that?
  • kinekine Member Posts: 12,562
    In reports may be yes, but in rest of the code, no. There is "TextFormatUpgrade2013.exe" in the Upgradetoolkit to do that...
    Kamil Sacek
    MVP - Dynamics NAV
    My BLOG
    NAVERTICA a.s.
  • Rob_HansenRob_Hansen Member Posts: 296
    I was thinking about this more, and I realized that EVERY report would need to be run through the Upgrade process to do a technical/executable upgrade, even base reports that are unmodified. Correct? I haven't tried this, but is there an option to select all reports and run it in bulk? I'm really hoping we can upgrade some of our NAV 2009 clients to the NAV 2013 executable without it being a big undertaking.

    (And yes, I am only talking about clients that are 100% RTC and not using the classic client in any way)
  • ara3nara3n Member Posts: 9,255
    You could load NAV 7 reports for the ones that are modified. Probably majority would run fine in 2009. Also you can do this to a 2009 Cronus DB and thus load them for all your clients.
    Ahmed Rashed Amini
    Independent Consultant/Developer


    blog: https://dynamicsuser.net/nav/b/ara3n
  • Rob_HansenRob_Hansen Member Posts: 296
    That post confused me. If I have a working NAV 2009 R2 database, I don't expect I could import all NAV 7 base reports into it and have them work. The database would be missing all the data structures around the latest changes (modified dimension structures, etc.). I don't see that as a possible option whatsoever.

    So, I'll throw my question out again...and let's bring it to its simplest state. In releases of NAV to this point, we always had the option to do an "executable only" upgrade to take advantage of new executable-level capabilities. You could do it so long as you were staying within the same client (i.e. upgrade classic client to newer classic client, or RTC to newer RTC) and they could execute the previous version code/objects. With the fundamental report structure change in NAV 2013, my question again is...for a client already running fine on NAV 2009 R2 (RTC only), will an executable upgrade to NAV 2013 be an option? I am thinking all reports would need to be upgraded, but not sure if that is the case or (if so) whether it would be a big task.
  • clauslclausl Member Posts: 455
    You can bulk upgrade Reports in NAV 2013. And when you have upgraded all your reports to RDLC reports in NAV 2009 you have an easy job.
    But please notice that reports NOT compiled will not be upgraded. So I suggest you move in you tabels, codeunits and pages into NAV 2013 first. And here is the tricky part since Forms are gone in NAV 2013. So you need to convert these objects to NAV 2013 as well. Just opening your NAV 2009 database in a NAV 2013 Developer client will not do this conversion for you, unfortunately. So you need to Export your NAV 2009 objects and do the conversion. You need to rename these elements in your code:

    As Kine mentioned you can use the "TextFormatUpgrade2013.exe" found under UpgradeToolkit folder on product DVD, to perform this action. Although I prefer to use the MergeTool to perform this action. In MergeTool you just mark ”Export with NAV7 Code Conversion” when you export your objects.
    When you have completed this conversion, import your converted Tables, Codeunits and Pages into NAV 2013 and compile, hopefully no compile errors :o Then run your reports through to the MergeTool also and import into NAV 2013. Now compile all reports, hopefully no compile errors. :D And now you are ready to hit the big "Upgrade Reports" button. All your reports in compiled state are upgraded to RDLC 2008 format reports which is the format supported in NAV 2013, read my blog for more details about RDLC format.

    Now are your reports optimized for NAV 2013? No, but that is a complete other story and not mandetory(it is on my blogging agenda), so you can consider your reports upgraded. One thing though, If you are using Code.Getdata in headers in any of your reports, I suggest you move your expression in you hidden Code.SetData text box to the Visibility expression to make sure that your headers are printed correctly. Rendering of reports changed slightly from Report Viewer 2008 to Report Viewer 2010, so moving the expression to the visibility property makes the report render this expression just like in Report Viewer 2008.
    Let me know how it goes, and I am sorry if I created more confusion.

    /Claus Lundstrøm
    Claus Lundstrøm | MVP | Senior Product Manager | Continia.com
    I'm blogging here:http://mibuso.com/blogs/clausl and used to blog here: http://blogs.msdn.com/nav
    I'm also offering RDLC Report Training, ping me if you are interested. Thanks to the 700 NAV developers that have now already been at my training. You know you can always call if you have any RDLC report issues :-)
  • Rob_HansenRob_Hansen Member Posts: 296
    Thanks Claus - that was fantastically helpful. I look forward to testing this with one of our clients' NAV 2009 databases in the next while. If anyone else actually does it in the meantime, please post details folks...
  • clauslclausl Member Posts: 455
    Also beware that the way Dimension is done has changed in NAV 2013, for the better. Much better performance. So if you have any customized objects which is using dimension you will need to recode these.
    It not's a lot of code but you still need to allocate time to make these changes. I.e. ”Tabel 359 - Posted Document Dimension” does not exist in NAV 2013.
    Please also note that reports that do not compile in NAV 2013, cannot be upgraded. So if you have a customized RDLC report 206 from NAV 2009 and import this into NAV 2013. You will get the compile error that Table 359 does not exist.
    At this moment you are blocked, because you cannot design a report in NAV 2013 which has not been upgraded. And you cannot upgrade because you cannot compile it. So you have 2 choices:
    1. Manually move your customizations to the standard 206 report in NAV 2013. TIP! Open your Report in NAV 2009 and VS 2008 and then copy values in the Location and Size properties to have your elements placed exact same place as in your old report.
    2. Import Table 359 from NAV 2009. Compile your customized 206 report, which is now possible because Table 359 now exist. Then upgrade the report. Recode Dimension then delete table 359.
    You decide which path is easiest for you.

    I believe Microsoft will release a WhitePaper soon for the Dimension changes in NAV 2013.

    /Claus Lundstrøm
    Claus Lundstrøm | MVP | Senior Product Manager | Continia.com
    I'm blogging here:http://mibuso.com/blogs/clausl and used to blog here: http://blogs.msdn.com/nav
    I'm also offering RDLC Report Training, ping me if you are interested. Thanks to the 700 NAV developers that have now already been at my training. You know you can always call if you have any RDLC report issues :-)
  • kjaunozolinskjaunozolins Member Posts: 2
    hi,
    i need to convert the classic report to 2013
    so first i created rdlc layout in 2009r2 and all was fine.
    then i exported that report as fob and imported it in 2013 and used "upgrade report" function . i was asked to import table 359 and some codeunits, but now i'am stuck at message thet tells "You have specified an unknow variable. Registration No.. Define the variable under global c/al symbols"

    and maybe exactly what code i need to recode mentioned in previous post
  • mdPartnerNLmdPartnerNL Member Posts: 802
    Thanks for this info. Will try it in few days with a 206 report from NAV 5, to NAV2009 (but eventually will redo this).
  • ievasimplanovaievasimplanova Member Posts: 45
    edited 2017-10-20
    For converting Classic NAV reports to RDLC You can use fully automated Simplanova Report Converter tool -
    there is no fee for running the report to customers
    Tired of Dynamics NAV Report Upgrades? - Convert automatically Classic NAV reports to RDLC format with Simplanova Report Converter
Sign In or Register to comment.