Exception of type ‘Microsoft.Dynamics.Ax.Xpp.ErrorException’
Posted November 10th, 2011 / No Comments
Recently received this error in AX 2012 when posting a sales order / return order invoice.
Posted November 10th, 2011 / No Comments
Recently received this error in AX 2012 when posting a sales order / return order invoice.
Posted August 26th, 2011 / No Comments
AX 2012 has changed its approach in managing and applying security. Instead of associating security to functional areas, assigning users to groups, AX 2012 has predefined roles where duties and privileges are preset, which are then used to associate a user to.
There are several approaches to assigning roles to users in AX 2012. The following explains these approaches with more emphasis given to the automatic assignment. Read the rest of this entry »
Posted August 19th, 2011 / No Comments
During a recent session of testing, a problem became apparent when addresses weren’t printing on certain documents. It was like the addresses didn’t know where they were supposed to be. Once realized, our question devolved to a level where we wanted to see where addresses are entered, how to point an address to the proper document, and how to turn on/off address functionality for documents. Read the rest of this entry »
Posted August 16th, 2011 / No Comments
Dynamics AX 2012 Production encompasses added functionality in scheduling resources. In lieu of work center groups and work centers, 2012 utilizes resource groups, resources, capabilities and worker/employee competencies to schedule resources. I find this to be much more flexible in allocating available resources and take some of the ‘starch’ out of the process.
I hope you find this video helpful and informative!
Posted August 12th, 2011 / No Comments
Microsoft Dynamics AX 2012 has undergone a total transformation when it comes to the security model used in setting security for the system. Rather than the model of module based security, AX 2012 has moved to the model of role based security. AX 2012 provides numerous ‘out of the box’ standard security roles and duties, simplifying the implementation of base level security.
The security setup in AX can be as easy or as difficult as you want to make it. It can be as simple as setting up a rule to assign an employee, based on his/or HR position to a security role to manually assigning users to each role. Read the rest of this entry »
Posted August 12th, 2011 / No Comments
Earlier this week, while stuck in traffic, I received a call from one of my favorite customers regarding some issues she was experiencing with credit notes in Dynamics AX 2009. Like trying to work on a classic American car with metric wrenches, she was finding that the standard credit note functionality just wasn’t the fit she was expecting. She was in need of some specialty tools to meet her needs. Read the rest of this entry »
Posted August 12th, 2011 / 2 Comments
For all of you non bit bunnies out there, here is a news flash. AX 2009 and previous releases used old (almost as old as this writer) technology for caching. These releases used an AVL Tree for caching. An AVL tree is as self-balancing binary search tree, and is the first invented. This device was trotted out back in 1962, before the Beatles came to America, before JFK was assassinated, before MLK wrote Letters from the Birmingham jail, before Zip Codes were used in the US and more importantly before the NHL had an annual draft. Not to mention before Gates and Jobs or little batteries -we barely had decent transistor radios let alone iPods. It was a bleak life and these two Soviets, G.M. Adelsen-Velskii (AV one assumes) and E.M. Landis (L one bets) wrote a paper inventing the tree. No wonder the Soviets were beating us in the space race back then. One has to assume these two commies were self-absorbed NERDS (before the word was invented) due to the total lack of imagination in the naming convention (no wife, child, mistress or parent they could have named it after)? Could be the effect of totalitarianism, but you know these two were/are NERDS, bit bunny etc. If I had invented something this huge I would have left the name at AV (not for Adelsen-Velskii but for Andy Vabulas). Read the rest of this entry »
Posted June 29th, 2010 / 3 Comments
We have, at a client, integrated WorldShip with AX via the export map in WorldShip writing to the ShipCarrierStaging interface table. The ShipCarrierStaging table is an existing table in AX – its part of the standard shipping integration with AX2009 – and is designed to accept any incoming freight record from a shipping package (like WorldShip). When you invoice a packing slip, it pulls the tracking number and freight charges from this table. So, this table is never populated with MorphX commands – it is always being populated via a SQL insert or via an ODBC update.
The insert trigger that intercepts the record does certain things to the inserted record, then writes it to the table. One of the things it does, at the top of the trigger, is "set @recid = select max(recid) from ShipCarrierStaging" to set a unique value for the RECID field in the table.
All of the above is standard AX.
Here’s the problem. Between when the "select max(recid)…" command issues and when it actually inserts the record can be anywhere from immediately to a second or two depending on the size of the table, the state of the server, etc. When you have multiple WorldShip stations inserting records simultaneously, it is possible for Station 1 to deliver a record to the table, then have Station2 deliver a record, then the trigger writes Station1′s record, and then the trigger writes Station2′s record. However, since the read for Station2 on the select max() happened before the Station1 write, both records get exactly the same RECID. Therefore, the Station2 record fails on a primary key violation, since the RECID is the primary key. I can easily replicate this as follows:
1. Write a simple insert statement to the table enclosed in a do while loop with a counter set to 10,000
declare @counter as int
set @counter = 1
While @counter <10000
begin
insert into Shipcarrierstaging (column name list) values (value list)
set @counter = @counter +1
end
You’ll have to edit the column name list to match the table (without the RECID field included) and the value list must be provided.
2. Copy the insert statement to another query window
3. Start the first query, go to the next window, start that one.
4. See the error in the second window.
I can solve this in SQL by changing the RECID to an identity column and letting it increment, then modifying the trigger to avoid the RECID field entirely. I haven’t yet talked to the dev team on how to modify the trigger via AX’s development environment (if we don’t, any sync to the database will overwrite the trigger modifications).
This error is a critical issue if you have more than one shipping machine. Its been reported to MS via the OTC and they have submitted it to queue, but no resolution has been promised.
Cheers,
Dwight
Posted January 6th, 2010 / 1 Comment
There are many data maintenance tasks that are simply too big for manual updating, but too small to justify writing scripts and using IT resources. Dynamics AX 2009 features a Fill Utility that allow you to update multiple records at the same time. For example, if you decide to change the Cash Discount for all customers or a group of customers, you can use fill utility to update all the selected customers at the same time.
Of note; not all fields are available in AX for Fill Utility. Also, not all users have access to Fill Utility. This feature is only available if the Fill utility configuration key is selected and the Fill utility security key is enabled.
To view changes that were made using the Fill Utility, see Basic/Inquires/Fill Utility Log
Posted January 5th, 2010 / No Comments
Microsoft Press has released Inside Microsoft Dynamics AX 2009 as a book application for the iPhone. This book is a must have for many AX professionals. The app features the full version of the book, full text search, dictionary, and the ability to add notes. And at $5.99, it’s a great value over the $40-$70 for the tree-and-pulp version. It’s available here. (iTunes required).
If anyone knows of pdf version of this book (or any other AX book), please let us know.