The new release of Microsoft Dynamics 365 Business Central is out. In this post, you will learn 3 of the most important improvements in Business Central 2023 wave 2 (v23). This new release comes with brand-new features you don’t want to miss out on!

  • SQL Table Extension Structure
  • Rich Text Content
  • Namespaces

Get the full information of the release plan here:

Overview of Dynamics 365 Business Central 2023 release wave 2 | Microsoft Learn

SQL Table Extension Structure


Microsoft introduced a new table structure to improve performance in Business Central. Before the release, every table extension for a specific table created a new table in SQL by itself. Now, all table extensions will live in the same table. Resulting in 2 tables in total, 1 for the base table and 1 for the rest of table extensions.

The result is that the performance for writing, reading, and deleting records will be much better.

In this chart provided by Microsoft, you can see the read performance by number of table extensions. In BC23 the number of table extensions increases the reading time very slowly, while in BC22 the time spent in the same operation takes much more time.

But, how much better? Actually, a lot! Very good posts have been created already testing the new feature from these Business Central MVPs with real numbers.

Check Stefano’s post where he measures the performance impact of this change.

Dynamics 365 Business Central 2023 Wave 2 release: measuring the impact of the new data structure – Stefano Demiliani

Waldo’s version using partial records.

Business Central vNext (v23) – The “new data model” (waldo.be)

Duilio’s detailed operations in SQL.

A new data model for Table Extension: the talk of the town – Dynamics 365 Business Central tales, myths, legends. And something serious. (duiliotacconi.com)

Yun’s very graphic explanation of the change.

Business Central 2023 wave 2 (BC23): New Data model for table extensions (Better performance when working with multiple extensions) | Dynamics 365 Lab (yzhums.com)

As you can see, this has been one of the biggest and most popular updates from this release.

You can find the Microsoft release note here.

Better performance when working with multiple extensions | Microsoft Learn

New Rich Text Content


For some time, the rich text content has been available for standard emails. But developers couldn’t use it outside of it.

If you are interested, I show you how to use it for sending emails in this article.


So, how can you start using it now that it has been released for everyone?

It’s simple, you just have to specify the following properties in a page field.

  • Multiline = true
  • ExtendedDataType = RichContent

But, we can’t use it in a Blob or text field of a table. The following error message will appear:

“The data type on the ‘Rich Text Content’ control is not valid for this ExtendedDataType value. Valid data types are BigText and Text without max size”.

This means that we are forced to use a variable instead. As the message reads, a BigText or Text variable. Also, make sure to include it in a group by itself or the rich content won’t be displayed.

This is what it looks like:

But, as you may have noticed, we are working with a variable, so we need to handle how to save the value. We will use a Blob field for this:

And with the help of InStreams and OutStreams, we save and retrieve the value from the Blob.

If you want to learn more about InStreams and OutStreams make sure to check the following post:

More information on this feature in Microsoft’s release note.

Use the built-in rich text editor to enter data | Microsoft Learn

Namespaces


A brand new feature for AL developers is out. This feature is already in other programming languages but we did not have it until now.

As you know, at the moment we use affixes for naming Business Central objects, like tables, pages, codeunits, etc, to prevent naming conflicts between them. The main benefit of this new feature is that we can start using it instead and avoid the naming conflict in an easier way. Also, we can organize objects better.

Microsoft is already using namespaces to group standard modules. For example, sales tables related to customers are classified with Microsoft.Sales.Customer namespace.

As you can see in the new customer table, the keyword “namespace” at the top defines the classification. And you can point to a namespace by using the keyword “using”.

For example, using Microsoft.Bank.BankAccount will give you access to all variables and methods declared in all objects with this namespace.

By using this feature, we can have objects with the same name but with different namespaces. As you can see, the intelisense will give you all the options available. You can either use the standard table, or your custom one.

We can’t do this, of course, without namespaces.


Find all the information in Microsoft release note

Segment AL code and reduce naming conflicts with namespaces | Microsoft Learn


There are many new features in this update. Don’t forget to check out the Microsoft documentation for more details!


That´s all. Hope you find it helpful.

Top 3 New Features In Business Central 2023 Release Wave 2

Post navigation


Leave a Reply

Your email address will not be published. Required fields are marked *