Category / Coding

A general category for topics related to programming.

File Downloads using HttpClient

This post is just a little reminder to me and some of you might compassionately smile. But I have recently spent hours racking my brains why I only get “empty” files when I download a “simple” PDF using HttpClient in a Business Central AL extension (although file-size and general sizing of the pdf files were […]

OAuth 2.0 / JWT in AL

A lot of webservices use token-based authentication today. Among many other advantages, the authentication token has a certain lifetime, which results in the fact that the re-authentication must happen only very irregularly. This minimizes the authentication requests as the token could be reused. A standard protocol for this type of authentication flow is OAuth / […]

Business Central REST API via JavaScript

I’ve just had the task to connect a new customer to one of our Node.JS webservices, in this case a payment notification service. So, payment providers like Adyen, Ingenico and Crefopay are constantly pushing some kind of payload (xml, json) against our service endpoint, and the service works like a proxy. It looks up and […]

Prototype: Logging without Commit in AL

Update: There’s probably a better solution so solve this, especially in newer versions. Just use background sessions. Recently i had an idea to create a persistent error logging in Business Central 365 without having to commit the transaction. I think every (add-on-) developer has this problem from time to time. How to handle and especially […]

Method overloading in AL

Yet another cool feature in AL is method overloading. Imagine having a method being able to accept different paramters. What’s very common in most other modern languages just arrived in BC right now. In good old C/AL times you would have created several different methods… probably with some kind of a proxy method to prevent […]

Example Extension: Interfaces in AL

One of the most impactful new features of the upcoming Business Central Spring Release 2020 will be interfaces. Interfaces are the strict building plan for implementing codeunits referencing on it. The interface itself only keeps the definition of the used methods, not the implementation itself. Contract Here’s our contract for the upcoming implementations of the […]

TempBlob & Base64 with AL

Some of you guys might have noticed that our beloved record “Temp Blob” will soon vanish. It has been marked as deprecated for quite some time now and will be replaced by the new “blob storage module”. So, we’ll find them in codeunits for TempBlob & Base64. What we get? First, there’s the new codeunit […]

« Previous Page