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

Welcome - Microsoft Dynamics 365!

Hi All, In this article we will discuss the new introduced member of Dynamics Family. Yes you heard it correctly, one more new member with Name "Microsoft Dynamics 365" . #ProjectMadeira   #Dynamics365

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 - 

NAV 2013 Credential Type - How to Use?

Hi all, Please do these activities when you have time, its a long activity and i would suggest do all activities in one go. So be clam and lets start. For NAV 2013 R2 Refer Here. For NAV 2016 Steps have been Reduced Please Refer Here. I have installed NAV 2013 and its work great with my windows credentials. I was checking the service console (Microsoft Dynamics NAV Administration) in NAV 2013 and found out that Credentials Type have multiple Options.