Upgrading from AX 2012 R2 CU7 to R3 CU12 - Compilation Error

Dear Axperts,


Using above link I followed up to below step, when I did the axbuild compilation first time I got so many around 365 errors.

If you are upgrading to AX 2012 R3: Use the following command:

axbuild xppcompileall

Request that kindly provide your valuable inputs on the same.

Thanks in advance for your positive reply.



Compilation errors , specific to the environment.
Depends on the past customizations & new changes.
You need to resolve the same

Unfortunately you didn’t tell us what you did and what compilation errors you got.
For example, do you realize that your customizations may be incompatible with changes done by Microsoft in the newer version, therefore you have to find such issues and upgrade your code? It’s not enough to install new code from Microsoft and compile your application. Refer to Duplicate the test system and perform code upgrade at the page you linked above.

Dear Floks,

Thank you so much for the update.

Please find error list screenshot as below.



After upgradation , post compilation errors will come based on the application code changes.
Resolve all the errors & do full compile again.

Dear Martin and Krishna,

I agree with your words but even the standard objects are missing in up-gradation.how? Any idea kindly share.
For example error : Duty EPPurchCenterRole does not exist, I got this error in up-gradation full compilation . EPPurchCenterRole is standard object and this object is there in AX 2012 R2 and AX 2012 R3. Getting these kind of standard errors lot in up-gradation full compilation. we have to fix all these errors manually or do I need to run any process.

Thanking you!


Pandu, I can’t comment on your problem with EPPurchCenterRole without more information. You said it does not exist, but also that “this object is there in AX 2012 R2 and AX 2012 R3”. Do you mean that it’s in AX 2012 R3 RTM but not in your installation of AX 2012 R3 CU12?
Also, you still didn’t tell us anything about your process. Does your question “do I need to run any process?” means that you still don’t understand what the code upgrade is and how to do it? Have you looked at the section about code upgrade in documentation, as I told you in my previous reply?

Dear Martin,

Upgrading from AX 2012 CU7 to AX 2012 R3 CU12(SplitStream) . This object "EPPurchCenterRole"there in both the versions (AX 2012 CU7 and AX 2012 R3 CU12). As you said above I followed the same and did the full compilation but I got exact same errors again. This is my first compilation on up gradation process.

I followed below Technet link (technet.microsoft.com/.../jj733502.aspx) step and compiled full application.
If you are upgrading to AX 2012 R3: Use the following command:
axbuild xppcompileall

I am ready to fix my customised object errors but after compilation I got lot of errors on standard objects missing.(Most are security roles/Duties, Menuitem, enums etc).

Thanks & Regards,

I still have no idea what you want to say by This object "EPPurchCenterRole"there in both the versions (AX 2012 CU7 and AX 2012 R3 CU12). Does it mean that your other statement that the object is there was wrong and should be ignored?

Your process is clearly wrong. You should be doing the code upgrade with the help of the Code upgrade checklist (after preparing the environment), as explained in Duplicate the test system and perform code upgrade section of the page. I already told you that in my first reply.

If you don’t upgrade your customizations (and ISV solutions, if applicable), that the application doesn’t even compile isn’t surprising at all.

For reference, I’ve noticed that there is a parallel thread about the same thing on another forum, which contains some details about the problem not mentioned here.

Dear Martin,

sorry for the confusion.

Before this step -" Duplicate the test system and perform code upgrade", we have to compile the application as per the technet link. This is my first compilation in the upgradation process.

This object "EPPurchCenterRole"there in both the versions (AX 2012 CU7 and AX 2012 R3 CU12) but when I compile I am getting this error “Duty EPPurchCenterRole does not exist” in my upgradation environment. Error is resolved when I took the object from AX 2012 R2 CU12 environment and imported manually in the upgradation environment.

Do we need to clear all these standard errors in this manner. After getting zero compilation errors, we have to do the code upgradation checklist.

Thanking you!!!

Yes Martin, your right.

Receiving different answers and ideas from some great AXperts.

your also doing wonderful job much appreciated helping people all over the world.

Keep all the good work.


You never mentioned R2 CU12 before. Didn’t you mean R3 CU12? Also, you mentioned AX 2012 CU7, but I assume you mean AX 2012 R2 CU7, as mentioned in the title of this thread.
Duty EPPurchCenterRole doesn’t exist in my application. In which layer is it defined in your R2 CU7 environment?

Also, you still didn’t tell us where you get the compilation error. There must be some object referring to this duty; it would be useful to know which one.

Dear Martin,

As per the technet link (https://technet.microsoft.com/en-us/library/jj733502.aspx) I did below screenshot step.

Layer Screenshot:


Thank you.

The duty doesn’t exist in AX 2012 R3 RTM, which suggests that it’s added by the CU. Are you sure you installed CU12 successfully?

Dear Martin,

The duty is there in R2 CU7 and when I did the R3 CU12 (SpiltStream) upgradation I am getting parallel compilation error “the duty is missing” like this lot errors on standard objects all are missing only. The issue got resolve when I import those objects manually in the up-gradation environment.


I take it as “No, I didn’t verify that CU12 has been successfully installed”.

Dear Martin,

No problem, Thanks for the input and help.


I’ve just installed CU12 for R3 and it does NOT contain EPPurchCenterRole duty.
I have no idea what you have in your other environment, but it’s not clean CU12. That the duty isn’t there isn’t a bug, it’s correct.