AX2012 has been around for some time now, but there are still many installations running on previous versions. Switching to AX2012 is not terribly hard, but it has some surprises for you. Therefore, I thought I’d start a collection of things you should be aware of and consider when (before) starting your first AX2012 implementation, that are not mentioned in the whitepapers and training materiel I’ve seen so far.
This year, I came across code like the following several times – in different projects, written by different developers (yellow indicates the piece of code I’m wondering about). I’m not sure why they do it – maybe they come from a programming language that doesn’t know about short circuit logic.
If you think „what the heck is short circuit logic“, please read on. Mehr lesen
If an AX table field directly uses the Extended Data Type (EDT) AmountCur or an EDT that derives from AmountCur, the field’s property sheet shows several additional entries, when compared to other fields of type real.
I couldn’t find any documentation on this in the Internet or the AX2012 development book, so I thought I’d try and find out from AX where these properties are used and what they are used for.
The Import / Export Framework of Dynamics AX 2012 is an extremely powerful tool. But sometimes you still need to look very closely to figure out why something goes wrong … and how to fix it.
Recently, two colleagues of mine both told me that you cannot import financial dimensions into a ledger journal for bank accounts, customer accounts etc. (basically all account types but ledger). Since I had tried out just that, I started investigating – and the solution is very straightforward.
I recently had to update some customer entities in AX2012 R2 using DIXF and ran into troubles that I knew for sure I hadn’t had with AX2012 R3:
When updating the customer data through DIXF, the customer’s balance was modified, too, although the updated fields were in no way related to the Balance. Well, actually, the entire update didn’t go through, but caused an error message about a missing setup of financial dimensions. I’ve to admit that I’m quite happy I received the error message. Since it didn’t fit at all to what I intended to do, it brought me quickly to this terrible „side-effect“ that I really wouldn’t have expected.And, yes, you didn’t misread: This modification to the balance also happens if there is no information about the account’s balance in the imported data. This basically means that you’ll set the customer’s balance to 0, although you only want to update some harmless other fields … (BTW: The balance is modified by posting a free-text invoice.)
It always happens at the most unfortunate moments that AX labels go crazy: You see a temporary label ID like $@AB1, or, even worse, labels are lost or overwritten. There never seems to be a good reason for this – this impression is partly due to the fact that one usually doesn’t realize the mess until some time after it was caused and then doesn’t see any relation to one’s actions.
Seeing that labels are not really interesting for a developer (I have to include myself here), it’s a shame that they can cause so much additional pain. So, I thought I’d share what process I always follow … without running into these issues. It may seem like some extra work, some extra steps, but once you had to „unmess“ some labels, you’ll understand why I don’t mind following my few simple rules Mehr lesen