Roles, Users and CALs

Clients are always questioning the CAL requirement of their AX2012 system, in part to manage their ongoing costs. Understanding how CAL’s are calculated is an important step in answering such a question.

The calculation goes through three steps to determine the CAL level for a user.

Step 1

Load the entry points and associated CAL levels into a temporary table. Entry points are all the ways users can access the system, which means menu items, web menu items, web URLs and web managed content. Each entry point has a CAL level associated with them, with standard system objects being pre-set by Microsoft, and custom developed objects can be set by the developers.

Step 2

Using the information gather is step 1, the process builds a list of all the roles, then loads the highest CAL level for the entry points associated with each role.

Step 3

Builds a list of all the ‘enabled’ users, their assigned roles, and calculates based on the information gathered in step 2, calculating the highest CAL level for each user.

Step 4

Updates the table SysUserLicenseCount with the latest data.


Understanding this process is important when you want to minimise the CAL impact to a client. The calculation is done by the system periodically (weekly) through a batch job called ‘Named user licence count reports processing’.

During a review of this process I found the system is generating a lot of useful information that could be utilised by an administrative user, but was being destroyed by the system once the calculation was complete. So to utilise this information a development was done to transfer the useful information to new tables, to enable a user to see different pieces of information.

The result of this developed provided two new screens to DAX.

Role to CAL licence viewer

This screen shows all the system roles, including any developed or customisations, and shows the associated CAL licence level, as well as the entry points associated with the role.

Role to CAL viewer

This helps an administrator quickly work out which entry points are causing any unwanted CAL elevations.

User Role CAL review

This screen shows the enabled users, their associated roles, the CAL information at both the role level and user level, plus also the users on-line time in the last 30, 60 and 90 days.

User Role CAL viewer

The administrative user can now sort the list for the different user licence types and perform a user review. With the addition of the on-line time you can quickly see which users are not accessing the system, or having limited time in the system, so especially with Enterprise users you can determine if these accounts are acutely required.

The code used to generate these screens is attached, developed on AX 2012 R2, and uses the information generated during the standard batch job called ‘Named user licence count reports processing’, which will need to be run once the code is loaded to populate the tables to use the screens.

Go to and download the file SharedProject_SAG_RoleCALs.xpo

2 thoughts on “Roles, Users and CALs

    • These were not put onto a user menu. Open the project in the development window and open the forms directly, after the batch job to calculate the user role counts is complete.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s