A good start!

Today marks a special day for me. I’ve now been working on Atlanta/Axapta/AX/FnO for exactly half my life. This simple X++ jobs tells the truth, and suggests me to pause for a second to answer the ultimate question: Do you wish to continue? Hell yeah – we are just getting started! I’ve felt that way…


Counting down

I now have a teenager in my house, and this morning she was humming one of my favorite tunes from my days as a teenager. This not just made me proud, but also got me thinking about the deadline for 7.x customers for logging extensibility requests: January 1st 2019. You can also try this: https://www.timeanddate.com/countdown/newyear…


SysDa – a new X++ query API

One of the major problems we faced when we embarked on the extensibility journey, was that X++ select statements are not extensible. If someone wants to add a new range, a join, a field in the field list – it is not possible. So far our strategy has been to convert these statements to good-old…


Chain of command on forms

Chain of command now supports even more extension scenarios on forms. It is now possible to wrap: Methods on the root of the form. Methods on controls. Methods on data sources. Methods on fields on data sources. So far you can only wrap system methods on the latter 3, i.e. methods that are defined on…


WhsWorkExecuteDisplay replacement

If you ever tried to implement a process on the mobile device used primarily in warehouse, you’ll have come across a class named WhsWorkExecuteDisplay. If you are not so fortunate, consider looking at the code. There are many software craftmanship lessons hidden here. This class and its subclasses are not as extensible as we need…


New capability in X++ : The In operator

We recently added a new feature in X++, making it easier to make certain SQL-where clauses extensible. Consider this method: It can now be refactored to support an extender in controlling which LedgerPostingTypes to include in the calculation: A neat little feature that debuted unnoticed by most.


New extension points

We just completed the engineering of version 8.1.1 – including more than 400 new extension points. Read more here: New extension points in July 2017 New extension points in version 7.3 New extension points in version 8.0 New extension points in 8.0.1 New extension points in 8.0.2 New extension points in 8.0.3 New extension points…


Tips for logging extensibility requests

My team is on the receiving end of extensibility requests. We are getting many quality requests, that we approve immediately – and deliver rapidly, typically in the next monthly update. However; we are also getting many requests that are not actionable. These we reject – asking for more details. We also observe some organizations bulk…


How to write extensible X++ code

We’ve just published a section on how to create extensible solutions – a must read for all X++ engineers. We hope you enjoy it.  


Logging Extensibility requests for Dynamics 365 Finance and Operations (V8.0)

New extensibility requests can now be submitted using Lifecycle Services.  See the documentation below for details: https://docs.microsoft.com/en-us/dynamics365/unified-operations/dev-itpro/extensibility/extensibility-requests   Some advice when logging requests: Don’t ask for something that is already there.We resolve 200-600 requests per month – chances are your request has already been fulfilled in latest release. See What’s new, or deploy the latest version. Understand…