AX License Configuration details

In older versions of AX we could see additional details under System administration > Setup > Licensing > License configuration that has been missing from the more recent versions. Here is an update done in version 2012 R3 to have better AX License Configuration details by showing the configuration key name in the AOT, the application layer and the model:

AX License Configuration details

The heart of the code is as per below to populate the 3 form controls, called in the Tree.selectionChanged() method:

public void WIK_setElement()
    int                     idx             = Tree.getSelection();
    FormTreeItem            node            = Tree.getItem(idx);
    boolean                 isValidLicense  = node && !node.overlayImage();
    ConfigurationKeyName    configKeyName;

    SysModelElement     elementNode;
    SysModelElementData elementData;
    SysModelManifest    model;
    SysModelLayer       layer;

    if (isValidLicense)
        configKeyName = configurationkeyId2Name(Tree.getItem(idx).data());

        select firstOnly Name from model
            join elementNode
                where  elementNode.Name         == configKeyName
                    && elementNode.ElementType  == UtilElementType::ConfigurationKey
            join elementData
                where  elementData.ModelElement == elementNode.RecId
                    && model.Model              == elementData.ModelId
            join Layer from layer
                where layer.RecId   == elementData.Layer;

    WIK_LicenseConfig.text(isValidLicense ? configKeyName : '');
    WIK_LicenseLayer.text(isValidLicense ? enum2Symbol(enumNum(UtilEntryLevel), layer.Layer) : '');
    WIK_LicenseModel.text(isValidLicense ? model.Name : '');

Here is the XPO of the changes:

By |2016-09-19T12:27:23+02:00September 19th, 2016|Categories: AX 2012|Tags: , , , |1 Comment

Table Delete actions in code compare window

I am sure all fellow developers have faced the frustrating problem of not being able to insert certain objects when importing an XPO or comparing different models, layers. Today I will show you how can you insert the Table Delete actions in code compare window for AX 2012 R3.

Modify \Classes\SysTreeNode\mergeInsertSubnode method in the AOT as per below:


By |2016-03-30T15:24:06+02:00March 30th, 2016|Categories: AX 2012|Tags: , , , , , , |3 Comments

TFS 2010 List of deleted AX XPO files

Recently our company had a need to create a clean TFS project for a new AX environment, and I have found out that there is no simple way of listing objects that were deleted from the repository. We had to make sure that these objects do not land in the new AX environment, so I had to figure out how to collect these objects.

I came across this blog post on how to use the Team Foundation Server API in .Net C#, which turned me in the right direction to be able to list the deleted XPO files:


By |2015-11-23T17:50:18+01:00March 7th, 2013|Categories: TFS|Tags: , , , , , |0 Comments

AOT node compare

One of the most often used tool is the AOT node Compare utility, which has some improvements from the past but can be changed further.

Now in AX 2012 the compare tool can be executed as CIL code rather than in the X++ runtime tier, which should give you considerable performance boost for larger code comparison. Here is a great post (The compare tool–and running X++ code as IL) from mfp about improvements that Microsoft did.

On the other hand you can do some improvements yourself by adding the following line to the SysCompare class, selectionChanged method:


By |2015-11-23T17:54:27+01:00August 14th, 2012|Categories: AX 2012|Tags: , , , , , |2 Comments
Go to Top