Skip to main content


Showing posts from November, 2015

Resolve the ledger dimension in the a different account structure [AX 2012]

Recently I had a look at an error that occurred on a custom journal posting routine. It was somewhat similar the journal allocations by looking at existing transaction to make adjustment. What I didn’t know is the account structure has changed. An error popped up: Account structure X for the combination x-x-x-x-x, is not valid for the ledger X.   When ever using ledger dimensions don’t just stamp the LedgerDimensionRecId. Use this method to resolve the RecId in the current account structure for the current company. toLedgerDimension = DimensionDefaultingService::serviceCreateLedgerDimension(fromLedgerdimension); I had to do a quick unit test to prove this. Below is a job that converts. Code: static void resolveLedgerDimension( Args _args) { //My expected values are //Dimension display value = '' //Account structure and dimension From RecId - Brazil - 52565566264 //Account structure and dimension Resolved RecId - Brazil SI - 2256553

KB2996035 - Performance issues when printing 1000s of customer account statements

A bit of a spotlight on this KB. This is not in AX2012R3CU9 but available on LCS for download. When you are printing a large number of customer statements it can take hours to print. This can be cut down dramatically. I don’t have perfect stats but with our testing on a TEST box. It ran 2.5 times faster. Producing over over 3000 statements in 30minutes. I think with better infrastructure we can get much better results. (12GB x 4 Cores test box – was a shared box for other services) The more cores the faster it is. The installer contains 2 KBs in one. The code is generic in nature but requires that you still make a small change to the code. Not sure if this was forgotten. Add this method to the controller class of the report. Final result should show you a new check box “Use parallel processing”. If this is ticked then it will multi thread and the prints will be out of sequence. If you don’t tick or see this flag, you are not multi-threading.