Reply To: What is the thing I have to consider before upgrading to Dynamics 365 BC?


Locus IT

Hello Abigail,

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.

Upgrading 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.

The process consists of two parts:

  • Upgrade from Dynamics NAV to Business Central using the tools described in Upgrading to Business Central on-premises.
  • Convert non-standard functionality and customizations to apps and per-tenant extensions.
  • Enable replication to a cloud tenant as described in Connect to the intelligent cloud, and then switch to use the Business Central online tenant going forward.

Upgrading from Dynamics NAV

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.

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.

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.

Dynamics 365 for Sales integration

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

New and changed application features

There a several new and changed application features available in Business Central April 2019 for users, administrators, and developers.

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 the 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.

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 were 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.

Skip to toolbar