AL language now supports ternary (conditional) operator. The ternary operator? : known from other programming languages, streamlines conditional operations in code, enhances readability and reduces verbosity. The following examples show how the code GetBooleanText() can be rewritten using the ternary operator to be less verbose and more succint. Without the ternary operator: With the ternary operator …
Tag: ALDevelopment
Mar 13
Include Resources in extensions
Good news! Resource files can now be included as part of an extension. This new option enables developers to package essential resources, such as images, configuration settings, and text files, directly with their extensions, ensuring that all necessary components are readily accessible and improving overall performance. To add resources to the extension, the following property …
Mar 11
AL now supports the Continue statement
From runtime version 15, it is possible to use the continue keyword in loops to continue to the next iteration. (Please make sure that your “AL Language extension for Microsoft Dynamics 365 Business Central” is version 15.0 or above) The continue statement allows skipping the remaining code in a loop’s current iteration and jumping directly into the …
Mar 11
Multiline strings: AL now has support for multiline string literals.
AL now support multiline string literals. It will enhance code readability and maintainability, especially when dealing with lengthy text content or complex string literals. Functionality is available with the AL Language Extension version 15.0 My first thought was, “Oh, we can use this to store the prompts for Copilot or OpenAI.” However, Dmitry suggested that …
Mar 11
Do you specify the 𝐑𝐮𝐧𝐓𝐫𝐢𝐠𝐠𝐞𝐫 parameter?
When you call the Insert, Modify, or Delete functions, it is important to specify the 𝐑𝐮𝐧𝐓𝐫𝐢𝐠𝐠𝐞𝐫 parameter. If you do not include this parameter, the compiler assumes you 𝒅𝒐 𝒏𝒐𝒕 𝒘𝒂𝒏𝒕 to run the trigger. 𝑨𝒍𝒘𝒂𝒚𝒔 𝒃𝒆 𝒄𝒍𝒆𝒂𝒓 𝒂𝒃𝒐𝒖𝒕 𝒚𝒐𝒖𝒓 𝒊𝒏𝒕𝒆𝒏𝒕𝒊𝒐𝒏𝒔. For example:If you do not want to run the trigger, use:Record.Modify(𝐟𝐚𝐥𝐬𝐞); Avoid using:Record.Modify(); If …
Oct 20
Quick fix for warning AL0604: Use of implicit ‘with’ will be removed in the future.
If you have not read my previous blog posts about the Implicit WITH, I suggest you read them to get a better understanding of the Implicit WITH. Also, you can read the Microsoft Docs to get more information as well. NoImplicitWith – The name #FieldName does not exist in the current context NoImplicitWith: The type …
Oct 20
NoImplicitWith: The type or method ‘Copy’ cannot be used for ‘Extension’ development.
If you have not read my previous blog, I suggest you read it to get a better understanding of NoImplicitWith. Microsoft recently announced about obsoleting the WITH statement and if your app.json file contains NoImplicitWith as a feature then you will probably be getting below error. The type or method ‘Copy’ cannot be used for …
Oct 20
NoImplicitWith – The name #FieldName does not exist in the current context
If you have used WITH statement in your AL code to make the code readable, then this blog will be helpful for you. There are people who completely support the use of WITH statement and I also was on that category a few years ago. Fortunately, I moved on from the use of WITH statements. …