In Microsoft Dynamics 365 Business Central, there are a lot of codeunits already available. Every codeunit is a collection of different functions. If they are global functions, they can be called from within your own code. There are codeunits that help you work with XML data, help you with importing and exporting data, setting up number series, and so on.
Starting with NAV 2015 there is an easier way to migrate data between old and new structures of NAV tables.
From msdn excerpt, the upgrade codeunits role is to provide “the logic for migrating existing data in the business data table from the old format to the new format after schema synchronization”.
Polymorphism is a great thing. .NET, Java, C++ and other folks have enjoyed its benefits for a long time, some more than a quarter century already. Meanwhile, we, the meager C/AL bunch, can only dream about it and draft our little patterns that all come short of it if only by a tiny bit.
In Microsoft Dynamics NAV we don’t have Abstract Classes or Inheritance. These are modern technologies that make sure that objects in your application have similar elements and signatures.
Despite the lack of these modern concepts NAV does have many tables and codeunits that follow similar structures by design. This has been like this ever since the early days in the 1980s.