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

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.

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 - 

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.