Upgrading to Dynamics NAV 2009


Upgrade procedure to Dynamics NAV 2009 is not very different from upgrade procedures we had in previous versions, but some differences do apply, depending on what we want to achieve with the upgrade.


First scenario is executables only upgrade, which is the same as traditional executables upgrade in NAV. That means upgrading classic NAV client to NAV 2009 version by opening previous database versions with new client, and selecting yes when prompted to convert database, without any object changes or data transfer. Or alternatively, creating a new database with NAV 2009 client, and restoring a backup of customer’s database.


This will, as before, upgrade the version of executables running NAV to 2009 version (builds 6.0 and higher) and create necessary system tables, but this will not automatically open up for using new NAV 2009 functionality (like RTC client or Web Services). Running the first scenario is a mandatory part of any upgrade scenario, just as it was in previous versions.


Beware of few issues that can rise from this scenario, see the link below for description.


http://blogs.msdn.com/nav_developer/archive/2009/05/08/upgrading-older-databases-to-nav-2009-runtime.aspx


Another scenario is doing an executable upgrade that would open up for using Web services, but would not include any object upgrade or data transfer.


This is where 3-tier scenario enters stage and a Dynamics NAV server should be set up and connected to the database (this is the normal installation/setup process of the service). Dynamics NAV Web service should also be installed, see Dynamics NAV documentation for installation and setup of different components.


http://msdn.microsoft.com/en-us/library/dd301130.aspx


To be able to use Web Services after doing an upgrade of executables and setting up a NST and Web service, one must also import and populate web service form (810) from a NAV 2009 client. This will open up for exposing codeunits (and also pages, but at this stage, pages are not yet present in database).


To further enable using RTC, one should also import tables 9050-9060, these are cue tables used in role centers of RTC. If you are creating and running custom Role Center pages, remember to create a record in each table by specifying any value as primary key (or follow code examples from standard Role Center pages that will insert a record if table is empty). A record in any of these tables will be automatically inserted when using standard NAV Role Page (based on that table).


In addition, reports should be ‘transformed’ to add RDLC layer and forms should be transformed to pages. You can also run reports with classic engine form RTC (that is run classic NAV report in RTC), in which case no object upgrade is necessary for reports. Note though, to run reports with classic engine on RTC client, each machine running RTC client (and classic reports) needs to have Classic client installed as well.


Furthermore, Role Center pages should be created or standard ones imported from NAV 2009 client (pages in range 9000-9020). Finally, PROFILE table (table 2000000072) should be populated with standard (or custom) profiles, and role center pages tied to these.


Last, but not least, you must make sure the existing code is modified to run in both scenarios (see MSDN documentation on code considerations for NAV 2009). 


However, the job needed in this last scenario (specially transforming forms and reports) is not much different than using full database upgrade . In full upgrade version, objects in standard and custom version of NAV (version we are upgrading) would be merged with standard NAV 2009 objects to create custom NAV 2009 database. Note, all forms in standard NAV 2009 version are transformed to pages, so it is advisable to run Form transformation to create pages, once forms are merged to NAV 2009 object version. Also, one should ‘upgrade’ reports to add RDLC layer, once custom reports are merged to NAV 2009 version.


No data transfer would occur from W1 5.0 to W1 NAV 2009 version, as there are no changes to table structure from 5.0 version. Upgrading from earlier version would still imply data transfer using Upgrade Toolkit.


 


These postings are provided “AS IS” with no warranties and confer no rights. You assume all risk for your use. 


 


Best regards,



Jasminka Vukovic


Microsoft Dynamics NO



Microsoft Customer Service and Support (CSS) EMEA


 


 


 


 


 

Comments (3)

  1. ara3n says:

    Hello  the system function VARIABLEACTIVE  is no longer supported in 2009. Is there another way I can write the following code.

    If VARIABLEACTIVE(RecordRef) then

    I think this will work if format(RecordRef) = ” then

    but want to confirm.

Skip to main content