New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1: Use the New Continue Keyword for AL Loops

Microsoft Dynamics 365 Business CentralThis post is part of the New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1 series in which I am taking a look at the new functionality introduced in Microsoft Dynamics 365 Business Central 2025 Wave 1.

The 8th of the new functionality in the Development section is use the new continue keyword for AL loops.

To make AL loops easier to write and read, you can now use the continue keyword in AL loops to continue to the next iteration, just like you are used to in other major programming languages.

Enabled for: Admins, makers, marketers, or analysts, automatically
Public Preview: Apr 2025
General Availability: Apr 2025

Feature Details

Like in many other programming languages, AL now supports using continue in loops to trigger the next loop iteration. Before, only the break keyword was supported, but that canceled the whole loop, whereas the continue keyword skips the current loop iteration and proceeds with the next.
To address that members, such as methods or fields in AL, might already be named continue, the continue keyword in loops will not be supported if the context has a member called continue. This is to avoid a breaking change. The compiler will warn about this, but still allow declaring object types with the name continue.

Click to show/hide the New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1 Series Index

New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1: Extend CardPageId on List and ListPart Pages

Microsoft Dynamics 365 Business CentralThis post is part of the New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1 series in which I am taking a look at the new functionality introduced in Microsoft Dynamics 365 Business Central 2025 Wave 1.

The 7th of the new functionality in the Development section is extend CardPageId on list and listpart pages.

Several page properties aren’t available to modify by using page extensions, mainly to avoid race conditions across multiple extensions modifying the same property. However, for some properties, Microsoft have received many votes on Ideas to still allow modification. One of the most popular requests is to allow extensibility of the CardPageId property on list and listpart pages, either to add a card page when existing lists don’t have that, or to replace it with a different card page. In this release Microsoft have added the ability to extend CardPageId.

Enabled for: Admins, makers, marketers, or analysts, automatically
Public Preview: Apr 2025
General Availability: Apr 2025

Feature Details

You can now modify CardPageID on list and listpart pages through a PageExtension. This means you can override which card page should be displayed when a user double-clicks an item on the list page or listpart page.

If the property is already specified on the base page, the value in the PageExtension will override it. If multiple PageExtensions modify the property, the last extension to be applied will take effect. As per-tenant extensions are applied after AppSource apps, this implies that any race condition across multiple AppSource apps setting the same CardPageId can be resolved in a per-tenant extension if needed, although this will seldomly happen.

Click to show/hide the New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1 Series Index

New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1: Overloaded JsonObject Data Type GetValue Method

Microsoft Dynamics 365 Business CentralThis post is part of the New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1 series in which I am taking a look at the new functionality introduced in Microsoft Dynamics 365 Business Central 2025 Wave 1.

The 6th of the new functionality in the Development section is overloaded JsonObject data type GetValue method.

To work more efficiently with JSON in AL, Microsoft have improved the AL API for accessing JSON data with a new set of overloaded JsonObject GetValue methods.

Enabled for: Admins, makers, marketers, or analysts, automatically
Public Preview: Apr 2025
General Availability: Apr 2025

Feature Details

Microsoft have improved the API for accessing JSON data with a new set of methods that will avoid always having to read data through a JsonToken.

For JsonObject instances, Microsoft have added:

value := GetBoolean(Key: Text [; DefaultIfNotFound: Boolean])
value := GetByte(Key: Text [; DefaultIfNotFound: Boolean])
value := GetChar(Key: Text [; DefaultIfNotFound: Boolean])
value := GetInteger(Key: Text [; DefaultIfNotFound: Boolean])
value := GetBigInteger(Key: Text [; DefaultIfNotFound: Boolean])
value := GetDecimal(Key: Text [; DefaultIfNotFound: Boolean])
value := GetOption(Key: Text [; DefaultIfNotFound: Boolean])
value := GetDateTime(Key: Text [; DefaultIfNotFound: Boolean])
value := GetDate(Key: Text [; DefaultIfNotFound: Boolean])
value := GetTime(Key: Text [; DefaultIfNotFound: Boolean])
value := GetDuration(Key: Text [; DefaultIfNotFound: Boolean])
value := GetText(Key: Text [; DefaultIfNotFound: Boolean])
value := GetArray(Key: Text [; DefaultIfNotFound: Boolean])
value := GetObject(Key: Text [; DefaultIfNotFound: Boolean])

Continue reading “New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1: Overloaded JsonObject Data Type GetValue Method”