Demystifying NAV to BC upgrades

Demystifying NAV to BC upgrades

First of all - why upgrade?

You get support for continued infrastructure upgrades (Windows, SQL Server, Word, Excel, etc.).

You get many new Business Central features when you upgrade.

Major release update every 6 months with many more features.

Future upgrades become much easier with the customizations and ISV products with the extension model.

If you upgrade to BC Cloud, Microsoft handles the upgrades automatically for you as well as the BC and SQL Server servers updates.

Chance to eliminate unwanted customizations and move to better suited ISV products.

Upgrading from NAV

Upgrading Customized C/AL Application to Microsoft Base Application for version 22 - Business Central | Microsoft Learn

Older method (but still good). Advantage with this method is since NAV does the moving by field numbers, you can let the app handle field renaming. The table names if changed – which they should if they are following the rules – still need to be changed before running the migration app.

Use the migration app which moves all code into Microsoft apps, ISV apps, and custom apps.

Microsoft includes a txt2al tool that moves all tables in your database into the migration app which is a large extension containing all your tables.

The migration process moves your BC14 tables into the migration tables.

You can do all this with the BC14 administration shell which uses PowerShell.

Note – with apps, SQL Server in effect renames the old tables with the table name and the app id as a suffix, except for a few NAV system tables.

Most of you will be upgrading from an older version than BC14.

The steps I follow:

1)     Convert any data to new formats and migrate data if necessary to new field numbers.

2)     Update BC14 demo database with non base fields to be moved.

3)     Update current version demo database with custom fields – NAV 2015 and above.

4)     If coming from older than NAV2015, then update to NAV 2017 first.

5)     Copy table objects for tables where you are dropping fields and do a force sync import to your database to remove them. (NAV2015 is the first NAV version that supports force sync.)

6)     Delete all companies that are not being migrated – can use NAV Admin Shell in admin mode to delete companies or the Windows client.

7)     Delete all tables not being upgraded – can use developer client or developer shell in admin mode.

8)     Run the BC14 upgrade.

Start the migration script. (See document link above.) Lots of commands, but really quite simple to run.

After the tables have been migrated to the migration extension, then use the scripts to migrate the migrate app tables to Microsoft’s base and system apps, any ISV apps, and your custom app(s).

Run the final BC upgrade.

If on prem, install the rest of the Microsoft apps.

If going to the cloud, run the cloud migration.

Note: cloud migration does not move the contents of the record links table – Notes and record links with their attachments.

To move notes, copy on prem to a temp table. In the cloud copy them back.

Record links – use an xmlports (easier than deciphering record ids) to extract the record link information. If moving to Microsoft new standard document attachments (stored in the database), then use the data from the xmlports to write a program to attach the documents as document attachments. (Yes – I have already written this, but it belongs to my employer since I wrote it on their time.) If moving to an ISV solution, they can use the record link extract data for loading the documents into their solution.)

New method – uses SQL to do the migrating so all the field names need to be changed to match the new apps.

Microsoft field names do not change and custom table field names can stay the same.

All table extension field names should change – PTE prefix for custom and the ISV apps will all have their own assigned prefixes.

FUTURE

Microsoft announced that BC25 will not be compatible with an upgrade from BC14.

BC25 is due out October 2024.

With the migration app, you can upgrade to BC24, then if moving to the cloud, use the upgrade from earlier release until BC24 is not accepted as an old version for this move.

On prem – you will need to do the extra upgrade hop yourself.

Usually you will want to do at least one test upgrade to work out problems in your upgrade processes and for user training and testing.

My advice is to do your upgrade by the end of this year which will give several months to complete your testing and training.

Remember the future is coming whether you are ready or not.

Nice article David!

回复

要查看或添加评论,请登录

David Machanick的更多文章

社区洞察

其他会员也浏览了