Skip to main content

#msdyn365bc - Returning complex types.

Hi Readers,

In this article we will talk about one of the cool feature that is available with release of #msdyn365bc 2021 Release Wave 1 (a.k.a BC 18).

AL Code was introduced from C/AL and with initial releases it was exactly same as C/AL Code. But with great community support and feedback to Microsoft, Microsoft is able to make it modern with new versions.

If you are a regular reader then you would have noticed that I keep on saying that we need to unlearn NAV or C/AL  before we start working on AL. The Reason I keep on saying this is because there are better ways to code and that is possible with enhancement in the product.

One of such long waited feature is what we are going to discuss today.

As NAV Developer we always hated how functions were able to return limited data types like code, Text, Boolean etc.

With Business Central 2021 Release Wave 1, most types can be returned from procedures – both user-defined types and most built-in types. 

Now We can write any procedure and Return any Data Type Including objects like record, Codeunit etc.

What Does That Mean?

In past we are limited to return 25 data Types as listed below.


With Business Central 2021 Release wave 1, We can return any defined data types like below. 


That Means that we can return any possible simple / complex Data type in Business Central.

Examples - 

If I have to return all Customers where Blocked in Blank we can write something like this.


If I have to return all customer ledger entries for a specific customer we can write something like

We can also use the complex return type directly as part of other expressions like Get Due Date of a Sales Order Created from a procedure.


This article was discussed in last #bcopendiscussion. You can find recording below.

Cool isn’t it?

Let me know your views as comment to article.

Regards,
Saurav Dhyani

www.sauravdhyani.com

Comments

Popular posts from this blog

Microsoft Dynamics NAV 2016 - How to Configure Phone Client.

Hi All, In this article we will discuss how we can connect Microsoft Dynamics NAV 2016 with New Client Launched i.e. Phone Client. This Article Contain Steps for a Android Phone as I have Only Android Phone. I am doing it having all tiers on my windows 8 machine, steps remain same for multiple servers but issues might be different. What we Need (Other what we discuss in this article) -  The Service Tier should be on Public IP . Some of the Data-card does not Provide you Public IP. check it for sure.

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.

🚀 Exploring Vibe Coding with GitHub Copilot for Business Central.

Hi All, In a recent #BCOpenDiscussion session, we delved into the fascinating concept of Vibe Coding —a new way of building software where developers collaborate with AI (like GitHub Copilot) to co-create solutions.  The session covered practical setup, how AI understands context, and even touched on Microsoft's new Model Context Protocol (MCP) integration for enhanced learning. Let’s break down the journey, step by step.