Skip to content
Microsoft Dynamics 365 Blog


Serialising containers in X++ 

A problem I’ve hit a few times during troubleshooting is transferring containers from one environment to another. Importing a whole 100GB database to be able to access the results of a report packed into a 20MB container seems like a bit of an overkill. So, a natural idea would be to save the container to...Read more

Customizing the system-generated query of the Invoice journal form 

When creating a Sales order in Dynamics AX 2012, you can define both a “Customer account” and an “Invoice account”. The Customer account identifies the customer for which the Sales order is being created, and the Invoice account references the account number of the customer to invoice, in case it is different. If you want to modify this behavior, you...Read more

Customizing the Bank reconciliation report to filter currency revaluation transactions 

Hello, When the Foreign currency revaluation process is run, Dynamics AX adjusts the amounts in the General Ledger accounts to recognize possible differences between the exchange rate for the original transaction currency, and the exchange rate that is used during the conversion to the accounting currency. As per the current design, Bank accounts are not...Read more

Using X++ to add a control at runtime 

Adding controls at runtime can be a powerful feature of Microsoft Dynamics AX client development. As a developer you may choose to display a control based on business logic and one way to do this can be with X++. I had a recent case where attempting this caused the Financial dimension fields to not work....Read more

Collect a series of traces automatically with Dynamics AX 2012 

Introduction The following steps are one way to collect a series of AX traces on a schedule with all versions of AX 2012 on the AOS server, using standard Windows tools: Perfmon combined with Task Scheduler. This example collects a 1 minute trace at 5 minute intervals. This can be useful for example if you...Read more

AX Performance Troubleshooting Checklist Part 2 

Updated on 09/09/16 for DynamicsPerf v2.0. This is Part 2 of a two part troubleshooting check list for general performance on Microsoft Dynamics AX. This part includes  hardware, indexing, queries,  blocking and code – at a high level. Please note this is just an outline of key areas for general guidance and not an exhaustive...Read more

Updating index fields while fetching data from the table using the same index can result in the same row being fetched twice in X++ 

Conclusion:There are situations where updating index fields while fetching data from the table using the same index can result in the same row being fetched twice. Recommendation here is to avoid updating index fields while selecting records using the same index.  For example: 1)Consider following “GM_Real_Test” table and the highlighted index:...Read more

Memory usage in XppIL code 

Written some X++ which seems to have high memory usage when run in IL but runs normally when not in IL? Or just noticing high memory usage in servers running IL code? Here we’re going to talk about an aspect of garbage collection in XppIL that is important for anyone writing XppIL code to take...Read more