Skip to main content

MSDYN365BC - How to Do Futuristic Development in CAL?

Hi Readers,

As requested by multiple readers we will discuss in this article series about how to do Futuristic development.

This is the first article in this series where we will take the example of a customer requirement and going forward we will develop that using CAL and will see the benefit of using Event Driven Programming in C/AL. I am considering this example as this capture all object types and also include base object changes.

Customer Requirement - 

  1. Customer Requires a New Field Expense Code in G/L Account.
  2. A Master for Expense Codes which will allow the customer to add Expense Code and Description. They should be able to disable any Expense Code.
  3. They should be able to key in those details in that table using a page. 
  4. A user should be able to select Expense Code in G/L Account General Tab.
  5. An Action in G/L Account Card Page and Chart of Account Page to New Page to Enter Expenses.
  6. When a G/L Account is added in Purchase Lines, Expense Code should get copied from G/L Account to Purchase Lines.
  7. If a user changes a Quantity in Lines Expense Code in Purchase Line will be removed.
  8. Expense Code is mandatory for all lines during the Posting of the Purchase order and will also check and Expense Code is not Disabled.
  9. Expense Code should be available in General Ledger Entries.
  10. A Report is required to find analysis based on Expense Codes.

Pre-requisites - 

I am sure that you have completed all the pre-requisites before you start working on these customizations, below is the list of pre-requisites that need to be completed -

Download Microsoft Dynamics Business Central (on-Prem)  or you have an MSDYN365BC on hosted tenant configured. Install Microsoft Dynamics Business Central (on-Prem).

** You can use NAV 2016 or higher for doing development with me.

This article also acts as a Table of contents for all articles related to this blog series - 

Article 00 - Customer Requirements. (this article)
Article 01 - Tables and Fields.
Article 02 - What is allowed and What is Not?
Article 03 - Customize Base Code Part 1.
Article 04 - UnBoxing Integration Event.
Article 05 - What If No Event Found.
Article 06 - Customize Base Code 2.
Article 07 - UnBoxing Database Trigger Event.
Article 08 - UnBoxing Page Trigger Events.
Article 09 - What If No Trigger Event.
Article 10 - Customize Base Code 3.
Article 11 - Testing the Solution.
Article 12 - Report Development.
Article 13 - Summary of Futuristic Development.

Who Should Read This Series?

Everyone who works in C/AL either due to personal constraint (not to learn AL) or customer is not ready to Move to AL Programming. This series will explain How and Why should we use Futuristic Development for our and our customer benefits.

This should also explain why our customer should be upgrading to the latest and greatest Version of Microsoft Dynamics NAV.

Hope you find this useful. Let me know your thoughts on the same.

Be Ready for futuristic development in CAL and learn with us!

Saurav Dhyani


  1. Great, hoping to enjoy this ride(Series).

    1. Hope you find it easy to follow articles in this series.


Post a Comment

Popular posts from this blog

Send Mail with Attachment From Navision.

Hi all, We have seen how to save a report into PDF and how to send mail to a customer. Let's link these two post in one i.e. Mailing statement to a customer into PDF Format. This article is part of the Series. Please Refer  Table of Content here . If you have the old objects set let me brief you what I will be changing - 

BC 21 and Higher - PowerShell Cmdlet (Replacement of Business Central Administration).

Hi Readers, As discussed in last article about deprecating of Business Central Administration, there are few common actions that we use in administration till Business Central 20. For our on-prem customers, we will still require doing activities. As Microsoft suggest we need to start using PowerShell cmdlet.    Let's see how to do those via PowerShell, or Administration Shell. I will be keep adding commands as you comment to this article.

MSDYN365BC - Data Upgrade To Microsoft Dynamics 365 Business Central on premises.

Hi Readers, We have already talked about the number of steps for upgrading to Business Central on Premises from different NAV versions. After that article, I received multiple requests for an article which list down steps for Data Migration. In this article, we will discuss steps of data migration to MSDYN365BC (on-Prem) from NAV 2017. For this article, I am considering a Cronus Demo Database without any customization. For an actual upgrade project, we will have to complete object merge using compare and Merge process. After the Merge Process, the next step is data migration. Let's discuss those steps. Direct Upgrade to Microsoft Dynamics 365 Business Central (on-Prem) is from following versions - 1. NAV 2015. 2. NAV 2016. 3. NAV 2017. 4. NAV 2018.