First launched in 2018, Microsoft Dynamics 365 Business Central is an enterprise resource planning (ERP) system designed to replace its predecessors, Microsoft Dynamics NAV and Navision. One notable difference is that the platform is primarily cloud based and introduced a new AL language for development. C/SIDE and C/AL were supported from its initial release till Version 14 (BC14). In other words, BC14 is the last version that one is able to operate both C/SIDE and AL development environment. That is particularly useful when migrating to an extension based solution.
What is the deal with BC14, C/SIDE, C/AL in 2022 you might ask? Since it is a software-as-a-service, why are we still digging up the past and “reminiscing” about it? Shouldn’t be everyone on cloud and running the latest version of Business Central? Well, unfortunately, there are still some customers who are running Business Central 14 and below and retaining their customisation in C/AL, for reasons incomprehensible.
First introduced around 1995, C/AL stands for Client/server Application Language. It is the programming language used within C/SIDE (Client/Server Integration Development Environment) aka classic development environment in Microsoft Dynamics NAV and some versions for Microsoft Dynamics Business Central. It resembles Pascal language and has been replaced by AL.
Similar to C/AL it is the programming language that is used for manipulating data such as retrieving, inserting, and modifying records in a Dynamics 365 Business Central database. It controls the execution of the various application objects, such as pages, reports, or codeunits. AL is more modern, more efficient, open-source, and Cloud-enabled.
Why AL and not C/AL for Business Central?
C/AL development allowed flexibility in customizations, but it has also created a number of upgradeability challenges. In C/AL, all code changes were made at the core of the system. If you are writing codes to change how the system works, it takes time and effort to make sure that those customizations works when it is time to upgrade. AL takes a different approach. The standard Business Central core is basically an app, and any customization you published in the system is one or more apps. In this way, you can upgrade the core Business Central app with minimal impact to the rest of the customizations. Everything is neatly compartmentalized.
Why stay on BC14?
There is little reason why one should stay on with BC14. At this point of writing, Business Central is at Version 20 (BC20). There are some reasons given by customers who insisted on staying. Some of them involves the cost of migrating to an extension based solution, in-house tech preference of using C/AL for maintainability, misconception of increased maintenance, lack of control/ownership, among others. The more popular justification from customers are because of the windows client. Most of them conveyed that their end-users are used to the windows client and retraining them takes too much effort or they cannot adapt to it. Hence by maintaining status quo (using windows client), it would reduce the loss in productivity. So they claimed.
Should you upgrade?
To be honest, the prudent way forward is to upgrade. Why? Avoid technical debt. The longer one waits, the more costly it will be, in terms of effort and money. Upgrading to Business Central on cloud would ensure that you have the latest fix and feature upgrades. It would also be easier to maintain and support in future. You won’t be limited to windows client, you have access to new clients (web, mobile, tablet) without being constraint by your desktop. You get to enjoy better integration tools and options to future proof your business operations.
What are you thoughts and/or experience?