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

VIEW SERVER STATE permission on SQL Server?

Hi all, Sometime While trying to Login into a database we face an error message as shown below. --------------------------- Microsoft Dynamics NAV Classic --------------------------- You cannot start Microsoft Dynamics NAV Classic because you do not have the VIEW SERVER STATE permission on SQL Server. Contact your system administrator. --------------------------- OK    ---------------------------

RTC Report It is not possible to instantiate the Visual Studio bridge.

Hi all, As a Navision developers I have Multiple Versions of Navision running in single Machine. As discussed Earlier in the post how to run multiple Version of RTC in single machine. So my machine have following details for RTC Versions - NAV 2009 R2    - is installed. NAV 2009 SP1  - is copied at C:\Program Files (x86)\Microsoft Dynamics NAV\60\NAV 6.0 SP1 IN\ NAV 2009         - is copied at C:\Program Files (x86)\Microsoft Dynamics NAV\60\NAV 6.0 IN\ This approach has been working great for execution of Classic and RTC Clients. However, after installing Dynamics NAV 2009 R2, if i tried to view the Layout for an NAV 2009 SP1 Report i was getting the following error: ---------------------------  Microsoft Dynamics NAV Classic  ---------------------------  It is not possible to instantiate  the Visual Studio bridge.  ---------------------------  OK    --------------------------- After searching for the error i figured out the issue was due to - Design change in NA

NAV 2013 R2 - Cumulative update 12 Released.

Hi all, Please find below the details of  Cumulative Update 12 released for Microsoft Dynamics NAV 2013 R2. Title - Cumulative Update 12 for Microsoft Dynamics NAV 2013 R2 Build No. - 38053 Release Date - October, 2014 Local Version Included - AU, AT, BE, CH, DE, DK, ES, FI, FR, IS, IT, NA, NL, NO, NZ, SE, UK, RU Download Link Note: Implementing this cumulative update will require a database conversion unless you have already implemented update rollup 5.