Important Information and Considerations for Before Upgrading to Dynamics 365 Business Central Spring 2019 and Later Versions

Depending on which version you are upgrading from, and the degree to which your solution differs from the standard version of Business Central, you may want to prepare your solution for the upgrade. This topic provides important information and tips for things to consider when you prepare to upgrade to Business Central.

Migrate from Dynamics NAV to Business Central online

You can upgrade to Business Central online from supported versions of Dynamics NAV on-premises, provided that your application customization is handled by extensions. Any data from tables with code customizations cannot be carried forward from Dynamics NAV.


Upgrade your solution to Business Central Spring 2019 (version 14) or later, and then migrate to Business Central online.

The process consists of two parts:

Upgrading from Dynamics NAV

This section lists specific changes between Dynamics NAV and Business Central.

Codeunit 1 has been deprecated and replaced

Dynamics NAV included codeunit 1 ApplicationManagement. In Business Central, this codeunit has been retired, and new 'system' codeunits have been introduced in the 2 billion range.

For information, see Transitioning from Codeunit 1 to System Codeunits.

V1 Extensions have been discontinued

With Business Central, extensions V1 are no longer supported for on-premise installations. As a result, any custom extensions V1 must be converted to extensions V2 in the old environment before upgrading to Business Central.

For information about how to convert to extensions V2, see Converting Extensions V1 to Extensions V2.

With Business Central, the MenuSuite is no longer used to control whether a page or report can be found in the search feature of the Web client. This is now determined by specific properties on the page and report objects. As part of the application code upgrade process, you change these properties on existing pages and reports used by the MenuSuite to ensure that they are still searchable from the Web client. For more information, see Making Pages and Reports Searchable After an Upgrade.

Dynamics 365 Sales integration

Because of changes in Dynamics 365 Sales and the integration since previous releases, if your application is integrating with Dynamics 365 Sales, then you must perform a full upgrade instead of just a technical upgrade.

New and changed application features

There are several new and changed application features available in Business Central April 2019 for users, administrators, and developers. For an overview of these features, see Overview of Dynamics 365 Business Central April '19 release.

To take advantage of these all these features, you will have to perform an application code upgrade, not just a technical (platform) upgrade.

Changes to profiles in the CRONUS International Ltd. demonstration database and promoted actions

With the Business Central April 2019 release, profiles that are part of the CRONUS International Ltd. demonstration database, such as the Sales Order Processor profile, customize fewer pages compared to earlier releases. For customers that rely on these profiles, their users might experience slight differences in the layout of actions in the action bar on pages. Additionally, the layout of promoted actions on over 380 core application pages has been fine-tuned.

To ensure that users are not disrupted by these changes, we recommend that administrators and partners who are upgrading a customer to Business Central April 2019, review the layout of promoted actions when combined with their own code and profile customization.

Names of variables

Business Central introduces new methods and statements. If your solution includes variables where the name is now used by a standard AL method or statement such as REGISTERTABLECONNECTION or FOREACH, you must change the variables before you upgrade to Business Central. Alternatively, you can enclose the variable names in quotation marks. If you do not, and you import an object that has this code in text format, you cannot compile the object.

Deprecated or redesigned functionality

If you are upgrading a solution that depends on functionality that is deprecated or changed in the default version of Business Central, you must verify that the upgrade codeunits migrate data correctly. See the See Also section for links to descriptions of deprecated functionality.

Deprecated fields and fields marked as obsolete

Sometimes Microsoft will refactor code so that fields are no longer used, or the functionality is moved from the base application to an extension, for example. Typically, the upgrade toolkit will manage the upgrade impact, but for transparency, you can find a list of fields that are deprecated in the current release or marked to be obsolete in a later release. For more information, see Deprecated Fields, and Fields Marked as Obsolete.

Upgrade codeunits

When you introduce changes to the database schema, Business Central will check if these changes are destructive or not. If the database check indicates that the change may lead to data deletion, such as if you are dropping a table column so that the contents of that column will be deleted, this is considered a destructive change. You will be prompted to handle the situation using upgrade codeunits.

Company names

If a company name includes a special character, an error may display during the upgrade. In this context, special characters include the following:
[ ~ @ # $ % & * ( ) . ! % - + / = ? ]

If you are going to upgrade a database where one or more company name includes a special character, we recommend that you rename the company before you start the upgrade process. After the upgrade is successfully finished, you can rename the company again.

System tables with non-English names

In older versions of Dynamics NAV, you could translate the columns in system tables to a language other than English. Starting with version 3.0, we advised heavily against this, and versions later than Microsoft Dynamics NAV 2013 R2 require that all columns in all system tables are in English. As a result, if you try to open a database with non-English system tables in Microsoft Dynamics NAV 2013 R2 or later, an error displays, saying that one or more columns do not exist.

Make sure that all objects where compiled in a development environment with the right .ETX and .STX files. You can verify that you are running in the correct environment with English (US) as the base language by opening the ndo$dbproperty table in SQL Server Management Studio. In the Identifiers column, the word Object must be written exactly as shown here.

See Also

Upgrading the Application Code
Upgrading the Data
Deprecated Fields, and Fields Marked as Obsolete