Skip to main content

Posts

Finding the cause of an incremental CIL-build error

I learned something new from one of my colleagues today, which is always nice. I have often been irritated by the Dynamics AX 2012 CIL-builds ability to be uninformative. The incremental CIL-build does not always tell you why it is unable to finish an incremental build, and up until today my procedure for fixing problems to be able to cil-build incrementally has been to run a complete x++ compile, which takes quite a long time. You can examine the cause(s) of the CIL-build failure by doing the following: 1) Login on the AOS-server. 2) Find the AOS server folder 3) Go to the folder of the instance where you experienced CIL-build problems. 4) Goto folder Bin\XppIL 5) Find the file Dynamics.Ax:Application.dll.log (an example of a full path for the file could be C:\Program Files\Microsoft Dynamics AX\60\Server\DEV_AX2012\bin\XppIL\Dynamics.Ax:Application.dll.log) In this file you can see the compile-errors which caused the incremental CIL-build to fail. Thank God for technic

My apologies.

I recently discovered that I have not been attending my mail box blog@fasor.dk. My sincerest apologies to everyone who have written to this mail box and gotten no answer. The mail box is now set up on my windows phone, and I will be answering sent to it.

How to work around best practice error: "A form that is not associated with other forms should be linked to at least one menu item"

How does one work around the Best practice error: "A form that is not associated with other forms should be linked to at least one menu item", when developing a custom lookup form ? Developing a possibility of a custom setup on the table ReqSitePolicy, that allows for calculation of "External Invent Onhand level", I added two new extended data types: ItemSearchInventSiteId exending InventSiteId ItemSearchInventLocationId extending InventLocationId and three new fields: ItemSearchShowAvailInventDataAreaId based on EDT SelectableDataArea ItemSearchShowAvailInventSiteId based on EDT ItemSearchInventSiteId ItemSearchShowAvailInventLocationId (based on a EDT ItemSearchInventLocationId) to the ReqSitePolicy table. To be able to make lookups for ItemSearchShowAvailInventSiteId and ItemSearchShowAvailInventLocationId fields based on the legal entity chosen in the ItemSearchShowAvailInventDataAreaId field (even though the currently active legal entity might

Modal forms in Dynamics AX

Some years ago, I wrote on this blog of a method to make a form modal in the AX client. The solution was made on Axapta 3.0 and involved calling winapi unmanaged. Someone commented that the method I described was bad code, because he had experienced a computer crash while debugging something that involved the code. Mindaugas Pocius has suggested a method in his Dynamics AX cookbook books Dynamics AX Cookbooks where the windowtype is set to Popup. This ensures that the form is on top but not that the form you want to be modal, is the only one that is active, so using Mindagaus' method, you are able to leave the form that is "modal". Now a colleague of mine has found a very simple solution. His scenario was this. From a form you can click a button that opens an other form. This form that is opened must be ontop and the only form in focus and active until you either click OK or CANCEL in this form. The calling form includes a button, that open the form to be modal. The

Very small and simple tool to use when comparing code in different AX environments

Some time ago I was was given the task of determining the differences in codebase between three different AX environments, running AX 2012 RTM. You might ask why would this be necessary, if you follow best practices that code is always moved from DEV to TEST, from DEV TO STAGING, and from STAGING to PRODUCTION, the only differences would be new ? Well, sometimes it is just not possible to test and correct a data problem that the users have in PRODUCTION by having the data rolled back into DEV within the timeframe given to solve the problem, and this leads to someone making hotfixes in the code directly in PRODUCTION. I know, I know - NOT recommendable. However the situation was that noone was exactly sure that the codebase in the environments were aligned, and wanted to know if there were any differences and where. Enter Araxis Merge , which is a wonderful tool for comparing and merging text-files. The advantage Araxis has over Dynamics AX's own compare tool are several:

Showing hidden fields in the table browser

A request for the possibility of showing the contents of hidden fields in Ax tables, using the table browser, made me do a google search, to avoid reinventing the wheel. Sure enough Vilmos Kintera had adressed the problem earlier on http://daxrunbase.blogspot.dk/2010/04/non-visible-fields-in-table-browser.html. And he has done good work. :) Keep it up Vilmos. Running the customized table browser seemed to work fine in AX 2009, however I ran into issues using it in AX 2012. I tested the customized table browser on the table CustTrans, which was the table I first found to contain hidden fields and I got a run-time error. Investigating the problem I found that the reason in seemed to run fine on AX 2009 (using CustTrans table) but failed in AX 2012 on the same table, was due to a small issue that Vilmos hadn't adressed, namely Extended Data Types defined as Arrays. The .ds datasource on the SysTableBrowser form had it's active method customized to populate the new lower grid,
Yes I know it's small chance of ever winning, but if you don't play you have no chance of winning. Firebrand Training is giving you the chance to win free training for a life time, and who wouldn't want that as a price. :) Please click Firebrand Training to enter the competetion your self.