Dynamics AX 2012 Audit

Hi Guys, I am just wondering if you can help me or guide me in the right direction if it has already been discussed on this forum.

My question relates to auditing of the application, and I am just wondering if there is an easy way to find out if there has been any modifications/customisations/changes done to the out of the box AX Install?

And would version number of AX change if there is any change (layers, objects etc).

Appreciate your help.

Regarding customizations, you can’t rely on version numbers, but you can rely on the layered architecture. Any change in a higher layer than those provided by Microsoft means that your application has been customized. You can create an AOT project with such changes, compare layers, delete such layers etc.

Version number helps you to see whether any hotfixes have been installed since the original installation.

Hi Martin,

Many Thanks for your reply, its much appreciated.

When you say compare layers, does it mean we can compare a layer to see how many customisations have been made to its default state?

I didn’t quite understand the AOT project, is it something you create before the customisation? I am coming from an auditor’s point of view where you just have to see the list of changes made to the application.

There is a tool for comparing layers (Development tools > Code upgrade > Compare layers or somewhere like that). That allows you to see differences between two layers.

You can create an AOT project and generate its content using “Advanced Filter/Sort” based on defined criteria. You can, for example, create a project containing all objects with changes in layers higher than SYP.

I’m not sure what results you expect, but when you’re looking into code, you’ll get just code. [:)] To see who and when did some change, you should refer to the version control system. To see what features and why were implemented, you should consult the change management system. It’s clear that you wouldn’t try to find it in code if these process were in place, but you can’t expect to (easily) reconstruct all such details from code only.