Skip to main content

MSDYN365BC - Futuristic CAL Development - Summary.

Hi Readers,

I hope you all are following this series and learned something new with this series.

If you haven't read any article in this series then Please
Refer Table of Index.

First, I thank you for all your suggestions, comments and Questions. Your engagement with this series kept me motivated to keep writing about this. I am always open to your suggestion about articles that you would like to see in this blog. Use Contact Us Page and let me know your suggestions for future Post.

Consider this series as the first step toward moving to Future even coding in CAL.

To Summarize -

  • To Start with If anyone did not understand is that everyone needs to upgrade today at least to NAV 2016. I would argue that you should at least upgrade to NAV 2018 or Business Central on Prem.
  • If you as the customer is not planning to upgrade sooner then we need to make sure that all customization is done going forward partner developers should use HOOKS.
  • We as partners should start looking at customs that we have done for our customers where we have done changes which are "Anti-Patterns". If there are "Anti-Patterns" we should try to rewrite in a way that its future ready.
  • Whatever version our customers are using, we should not modify anything that comes with the Base Product. For all customs that we would require to fulfill customer requirements should be using HOOKS / Event.
  • We call it "Detangling the Hairball", which will become a blocker for the customer if we don't logically break our code into features so that they can become extensions in the future. "Detangling the Hairball" - is when you don't know what customs are there and which custom changes can be grouped together as logical extensions.
  • While Creating HOOKS don't create based on your requirements!. Try to Keep HOOK as close as it exists as an Event in Future, which will save effort in the future.
  • As developer always keep the latest version (with latest CU) accessible to refer and see all new events added in the product.
  • Always do - Test Driven Development!. Its the futuristic way of development all code segment should come with all testing scenario and possibly Test cases.
  • The limited modification is allowed in Table and Pages. All other objects are not allowed to be modified in the future.

If you want to download the NAV Modified Objects that we developed in this series then clone or download using the Github link, as shown below.

** It contains Base objects and modified objects for comparing (if required)

Next series we will talk about What is the benefit of using Futuristic C/AL and why should we consider this approach while writing our code.

If you have any other thoughts about the next series before I think of it please share that via Contact Us Form. I will try my best to have a series for your suggestion.

Stay Tuned for more and please add comments if any questions/suggestions.

Saurav Dhyani


  1. Hello Saurav,do we have any info on Indian localization for Business Central, any of indian partner working on it,Can you please help me with some info if you can provide. Thanks in advance.

    1. I dont have any Idea Madhu as i dont work with Indian customers.
      You can reach out to Microsoft to identify plan and about partner who is working on it or not.


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 - 

Error After Restore SQL Backup of NAV 2013 Database

Hi all, we are facing a conman issue during restoring a SQL Database backup restored for NAV 2013. While Trying to run object from Object Designer we get below listed error (even the service is configured properly) - --------------------------- Microsoft Dynamics NAV Development Environment --------------------------- There are no NAV Server instances available for this database. You must ensure that a NAV Server instance is running and is configured to use the database before you perform this activity. --------------------------- OK    ---------------------------

Future - What Next After NAV 2016. Code Name - Madeira...

Hi All, While Browsing web I came across some article which says about next release of Microsoft Dynamics NAV. Let's see the History of Code Names Given to Previous Version  - NAV 2013 - Code Name 'Sicily' NAV 2015 - Code Name 'CRETE' NAV 2016 - Code Name 'CORFU' And as we all know that all these are the Islands.