Recently we had to fix a bug in our UAT environment that users were getting when trying to generate a purchase order invoice in Dynamics AX. The error message “Update Has Been Cancelled” wasn’t very descriptive and we couldn’t reproduce the error in our DEV environment unless we had the Execute in CIL checked. It took a bit of stepping through code to figure out the issue and I didn’t see much online when searching for the error message so I decided to share how we worked through this.
The error message is pasted below. The repro steps were to 1) select a PO with status “Received.” 2) Go to the Invoice tab and select Generate – Invoice. This will generate the error.
After some debugging we found that the error was being generated in class VendDocumentLineType_invoice, method – vendInvoiceInfoTable. In the method there is a line of code Debug::assert that was generating the error message. We looked in AX to make sure Debug wasn’t turned on and then checked the AX Configuration which all looked good. When we looked at the AX Server Configuration we noticed that the enable breakpoints checkboxes were checked (screenshot below). Previously this UAT box was used as a DEV box and not all of the debugging settings where turned off before making UAT. After a quick config change the error message wasn’t generated. So if you run into an error message when running in CIL on a debug statement make sure that all of the debug settings are turned off in AX and the configs.
Make sure checkboxes in red are not checked.