Data Upgrade from NAV 2013 to NAV 2018 CU5

In this blog, we will discuss about Data Upgrade from NAV 2013 to NAV 2018 CU5 (Build 21836).

Task 1: Prepare the old database

1) Use the Microsoft Dynamics NAV 2013 Development Environment to build all application objects

Build Server Application Objects

2) Unlock all application objects
Filter – Locked True in object designer.
Select all Locked Objects and From File Select Force Unlock.
3) Synchronize the database schema by compiling all Objects

Task 2: Create a full SQL backup of the NAV 2013 database on SQL Server

Task 3: Uninstall all V1 extensions

As it is an NAV 2013 database there are no Extensions so skip this step.

Task 4: Upload the Microsoft Dynamics NAV 2018 license to the NAV 2013 database

– In the NAV 2013 development environment, on the File menu, point to Database, and then choose Alter.
– In the Alter Database window, choose Integration, and then select Save license in database.
– Restart Microsoft Dynamics NAV 2013 Server instance

Upload License

Task 5: Delete all objects except tables from the NAV 2013 database

– Select All Objects in Object Designer and Mark All Objects
– Select Tables in Object Designer, Select All and UN-mark all tables
– From View Select Marked only and select all in Object Designer
– Delete all Objects (marked Objects)

Task 6: Uninstall (optional) the old product (NAV 2013) and install the new product (NAV 2018 CU 5)

– Along with Installation of NAV 2018 CU 5, create a service for NAV 2018 CU 2
– Increase the SQL Command Time Out from 00:30:00 to 20:00:00 for both Services (One Service for NAV 2018 CU 2 and one Service for NAV 2018 CU 5)

Task 7: Clear Dynamics NAV Server instance and debugger breakpoints records from NAV 2013 database

1) Stop NAV 2013 Service
2) Using SQL Server Management Studio, open and clear the dbo.Server Instance and dbo.Debugger Breakpoint tables of the NAV 2013 database
DELETE FROM [NAV2018_TEST].[dbo].[Server Instance]
DELETE from [NAV2018_TEST].[dbo].[Debugger Breakpoint]
where NAV2018_TEST is my Databasename

Task 8: Convert the NAV 2013 database to the Microsoft Dynamics NAV 2018 CU 2 Database

– Open NAV 2018 CU 2 Developer Environment – Run as Administrator
– Open the NAV 2013 database in NAV 2018 CU 2 Development Environment
– Follow the conversion instructions
– Important: Do not run schema synchronization at this time

Task 9: Import the upgraded application objects (NAV 2018 CU 2) and upgrade toolkit objects into the converted database

– Import Merged objects from NAV 2018 CU 2 Object Merge in the database. (Select Replace all)
– Do not run table synchronization (Select Later if asked)
– Import Upgrade Toolkit Objects (Upgrade7001100.fob) in Database
– Do not run table synchronization (Select Later if asked)

Task 10: Connect a Microsoft Dynamics NAV 2018 CU 2 Server instance to the converted database

– Connect to NAV 2018 CU 2 service that we created in Task 6

Task 11: Compile all objects that are not already compiled

– Filter Objects with compiled false
– Compile objects with Synchronization Schema Later

If you get errors on the following table objects, use the Object Designer to delete the objects because they are no longer used.

Table 470 Job Queue (replaced by the Task Scheduler)
Table 824 DO Payment Connection Details
Table 825 DO Payment Connection Setup
Table 827 DO Payment Credit Card
Table 828 DO Payment Credit Card Number
Table 829 DO Payment Trans. Log Entry
Table 1510 Notification Template

When you delete following table object, in the Delete confirmation dialog box, set the Synchronize Schema option to Force.

– Test Runner Codeunits
Codeunit – 130400 – CAL Test Runner
Codeunit – 130402 – CAL Command Line Test Runner
OnBeforeTestRun – Verify parameter FunctionTestPermissions

Before Test Run

OnAfterTestRun – Verify parameter FunctionTestPermissions

After Test Run

Task 12: Run the schema synchronization on the imported objects – NAV 2018 CU 2

From Tools – Sync. Schema for all Tables – With Validation

Sync Schema With Validation


Task 13: Run the data upgrade process – NAV 2018 CU 2

– Open NAV 2018 CU 2 Development Environment as an administrator.
– On the Tools menu, choose Data Upgrade, and then choose Start and follow the instructions.
– To view the progress of the data upgrade, on the Tools menu, choose Data Upgrade, and then choose Show Progress.

Data Upgrade
Data Upgrade
(Below Tasks A to I are for NAV 2018 CU 2 ==> NAV 2018 CU 5)

Task A: Create a full SQL backup of the NAV 2018 CU 2 database on SQL Server

Task B: Stop NAV 2018 CU 2 Service

Task C: Convert the NAV 2018 CU 2 database to the Microsoft Dynamics NAV 2018 CU 5 Database

– Open NAV 2018 CU 5 Developer Environment – Run as Administrator
– Open the NAV 2018 CU 2 database in NAV 2018 CU 5 Development Environment
– Follow the conversion instructions
– Important: Do not run schema synchronization at this time

Task D: Import the upgraded application objects (NAV 2018 CU 5) into the converted database

– Import Merged objects from NAV 2018 CU 5 Object Merge in the database. (Select Replace all)
– Do not run table synchronization (Select Later if asked)
– Do not run table synchronization (Select Later if asked)

Task E: Connect a Microsoft Dynamics NAV 2018 CU 5 Server instance to the converted database

– Connect to NAV 2018 CU 5 service that we created in Task 6

Task F: Compile all objects that are not already compiled

– Filter Objects with compiled false.
– Compile objects with Synchronization Schema Later

Task G: Run the schema synchronization on the imported NAV 2018 CU 5 objects

From Tools – Sync. Schema for all Tables – With Validation

Task H: Run the data upgrade process – NAV 2018 CU 5

– Open NAV 2018 CU 5 Development Environment as an administrator.
– On the Tools menu, choose Data Upgrade, and then choose Start and follow the instructions.
– To view the progress of the data upgrade, on the Tools menu, choose Data Upgrade, and then choose Show Progress

Task I: Create a full SQL backup of the NAV 2018 CU 5 database on SQL Server

Task 14: Import upgraded permission sets and permissions by using the Roles and Permissions XML ports

Task 15: Set the language of the customer database

In the development environment, choose Tools, choose Language, and then select the language of the original customer database.

Task 16: Register client control add-ins

– To use these add-ins, they must be registered in table 2000000069 Client Add-in.

Microsoft.Dynamics.Nav.Client.BusinessChart

Microsoft.Dynamics.Nav.Client.DynamicsOnlineConnect

Microsoft.Dynamics.Nav.Client.FlowIntegration

Microsoft.Dynamics.Nav.Client.OAuthIntegration

Microsoft.Dynamics.Nav.Client.PageReady

Microsoft.Dynamics.Nav.Client.PingPong

Microsoft.Dynamics.Nav.Client.SocialListening

Microsoft.Dynamics.Nav.Client.TimelineVisualization

Microsoft.Dynamics.Nav.Client.VideoPlayer

Microsoft.Dynamics.Nav.Client.WebPageViewer

Task 17: Publish and install/upgrade extensions

Database = nav2018_test

Server Instance = nav2018_test

Database Server = NAVDB

You can find Extensions in NAV 2018 CU 5 DVD ==> ..\NAV.11.0.21836.W1.DVD\Extensions\

My Folder Path = C:\Prerequisites\Extensions\

You can download Microsoft_Application_11.0.19738.0.app from here.

You can find ModernDev in NAV 2018 CU 5 DVD 
..\NAV.11.0.21836.W1.DVD\ModernDev\program files\Microsoft Dynamics NAV\110\Modern Development Environment

My Folder Path = C:\Prerequisites\Extensions\ModernDev

1. Open Microsoft Dynamics NAV Administration Shell – Run as Administrator

Run below commands:

Publish-NAVApp -ServerInstance nav2018_test -Path “C:\Prerequisites\Extensions\ModernDev\System.app” -PackageType SymbolsOnly

Publish-NAVApp -ServerInstance nav2018_test -Path “C:\Prerequisites\Extensions\ModernDev\Test.app” -PackageType SymbolsOnly

Publish-NAVApp -ServerInstance nav2018_test -Path “C:\Prerequisites\Extensions\ModernDev\Microsoft_Application_11.0.19738.0.app” -PackageType SymbolsOnly

2. Update Custom Setting file parameter “EnableSymbolLoadingAtServerStartup” = True

3. Restart Microsoft Dynamics NAV 2018 CU 5 Server instance

4. Generate the application symbol references for running Running C/SIDE and AL Side-by-Side

5. Open command prompt – Run as Administrator

Run below command:

cd “C:\Program Files (x86)\Microsoft Dynamics NAV\110\RoleTailored Client”

finsql.exe Command=generatesymbolreference, Database=nav2018_test, ServerName=NAVDB

Verify results after 5 minutes at location

C:\Program Files (x86)\Microsoft Dynamics NAV\110\RoleTailored Client\navcommandresult.txt

“[0] [07/07/18  3:08:25 AM] The command completed successfully in ‘268’ seconds.”

6. V1 extensions have the file type .navx. V2 extensions have the file type .app

7. Open Microsoft Dynamics NAV Administration Shell – Run as Administrator

Run below commands:

For V1 Extensions:

Publish-NAVApp -ServerInstance nav2018_test -Path “C:\Prerequisites\Extensions\Ceridian.navx”

Publish-NAVApp -ServerInstance nav2018_test -Path “C:\Prerequisites\Extensions\MSWalletPayments.navx”

Publish-NAVApp -ServerInstance nav2018_test -Path “C:\Prerequisites\Extensions\PayPalPaymentsStandard.navx”

Publish-NAVApp -ServerInstance nav2018_test -Path “C:\Prerequisites\Extensions\QuickBooksDataMigration.navx”

Publish-NAVApp -ServerInstance nav2018_test -Path “C:\Prerequisites\Extensions\QuickbooksPayrollFileImport.navx”

Publish-NAVApp -ServerInstance nav2018_test -Path “C:\Prerequisites\Extensions\SalesAndInventoryForecast.navx”

For V2 Extensions:

Publish-NAVApp -ServerInstance nav2018_test -Path “C:\Prerequisites\Extensions\C52012DataMigration.app”

Publish-NAVApp -ServerInstance nav2018_test -Path “C:\Prerequisites\Extensions\ImageAnalysis.app”

For V2 Extensions – Sync

Sync-NAVApp -ServerInstance nav2018_test -Name “C5 2012 Data Migration” -Version 1.0.21836.0

Sync-NAVApp -ServerInstance nav2018_test -Name “Image Analyzer” -Version 1.0.21836.0

Task 18: Update the Dynamics NAV Web client configuration file (navsettings.json)

If you have installed the Microsoft Dynamics NAV Web Server components, populate the navsettings.json file for the Dynamics NAV Web Server instance with the settings of the NAV 2013 web.config file.

NAV 2013 – web.config file

NAV 2018 CU 5 – NAVSettings.JSON file

Task 19: Delete the upgrade objects

– At this point, we have upgraded the database to Microsoft Dynamics NAV 2018 CU 5.

– Now, you can delete the upgrade code units and upgrade table objects that you imported in task 9. This task is recommended but not required.

– Filter Objects with Version Tag – UPGTK11.00.00 and delete objects with Force

Here are the Microsoft blogs you can refer: Data Upgrade and Upgrading to Dynamics NAV

Was this helpful? Let us know in comments. You can get more such insights into NAV here.

For further queries, contact us.

Prefix code for developing Business Apps on Microsoft AppSource

If you want to develop business applications (extensions) for Microsoft Dynamics 365 Business Central on AppSource, you have to request and register 3-Character prefix/suffix code for your organization with Microsoft. Dynamics 365 Business Central team will then reserve this code for you and you have to use this code for apps development.
For example, we had registered “INT” as our company’s unique code.
Here are some points to keep in mind about this unique prefix/suffix code.

  • Object prefix must be registered with Microsoft (at least 3 digits) and must be unique (it’s globally reserved for you)
  • It can be a prefix or a suffix i.e., you can call an object XXXMyTable or MyTableXXX
  • You have to use it for every objects in your extension
  • This is not case sensitive i.e., you can call an object XXXMyTable or xxxMyTable
  • You can use the prefix in any format you want. So, XXX_MyTableXXX-MyTableXXX.MyTableXXX MyTable etc. are all valid names.
  • You can register more than one prefixes. So, you can have a prefix per app but a specific prefix for a company is preferred.
  • Functions in your extension objects cannot have the prefix/suffix in names. The prefix is in your object name, so you can have something like XXX-MyCodeunit.MyWonderfulFunctionNameLongAsIWant() )
  • If you have an extension A that depends on the extensions B and C, both B and C adds a function MyFunction to a standard table (Customer table for example), if you call Customer.MyFunction you receive an error on compilation (ambiguous call)
  • If you create any extended page/table object than object name should contain it. E.g.  pageextension 70144371 INT ExtendItemCard extends “Item Card”
  • Use in name of field added in standard table (by extended tales object)
  • Use in name of action/group added in standard page/role center, see the following example:

actions
    { 

       addafter(“Purchase Invoice”) 
        { 
            group(“INT Item Generator”) 
            { 
                action(“INT Item Configurator List”) 
                { 
                    Caption = ‘Item Configuration’; 
                    ApplicationArea = all; 
                    Image = ItemTracking; 
                    Promoted = true; 
                    PromotedCategory = Process; 
                    PromotedIsBig = true; 
                    RunObject = Page “INT Item Configurator List”; 
                } 

All in all, Microsoft requires you to have your extension object name unique so that the conflict between n number of extensions in AppSource can be removed.
You can check out the Business Apps  developed by us for Dynamics CRM and Dynamics 365 Business Central.  Contact us if you need help in developing business apps on Microsoft AppSource.

    Join our mailing list for news updates, invitations, and more