Saturday, March 28, 2020

D365 FO upgrade from AX 2012 R2:


D365 FO upgrade from AX 2012 R2:

I am going to explain technical work stream for D365 FO upgrade from AX 2012 R2.

Below steps is high level points for the upgrade however I will post other articles for each major steps which required detail information.


  1. As part of the prerequisite Install KB 4048614 and Install latest cumulative update before starting any upgrade activity.
  2. Analyze and Identify all CRs and SSRS report which not required or deprecated in D365.
  3. Cleanup any CRs or functionality in AX 2012 which is not being used which will help to reduce upgrade cost and upgrade time as well.
  4. Configure LCS .
  5. Configure DevOps.
  6. Create test cases and process including ISV in BPML(Business process modular library )in LCS.
  1. Run upgrade analysis: estimate the AX 2012 preparation work.
  2. Run code upgrade tile: estimate the code upgrade work.
  3. Analyze LCS output report from LCS and find out over layered and conflict objects which will be base during code upgrade.
  4. Run LCS code upgrade tool with "only estimation" check box unchecked and then LCS will create report and also create work items and repository in the DevOps.
  5. Map DevOps repository with Dev VS to start code upgrade.
  6. Next is to start code upgrade and then data upgrade however this approach is good if you have less customization and you can follow water fall model. But if there is huge customization and want reduce the project duration then follow below steps.
  7. As part of data upgrade work first on schema based objects Like EDT, Enum, Table and view.
  8. Work on overlaying  and conflict objects all above related objects add all these objects in a separate model and move to Dev folder.
  9. Map this Dev folder with D365 Dev instance and start data upgrade task parallel to the code upgrade for other object type and it will save significant time in overall project and also enable and involve early in the team to start functional validation after data and code upgrade.
  10. Also we can Fast track or crash code upgrade duration by adding more resources in the project. However adding more developers for code upgrade we need extra precautions, setup and control to avoid further code conflict which I will discuss in the separate post.
  11. There are two part in code upgrade first one to work on overlaying and conflict objects by creating extension in the system ,secondly to check added code and objects after system is compiled with no error because after adding code we can not check objects from front end as there are errors in the system.
  12. During the code upgrade source ISV can be ignored and after successful code upgrade D365 compatible ISV package need to added in D365 through source control so that ISV related data can be upgraded during data upgrade.
  13. During data upgrade most of the errors are due to duplicate records and ISV related errors. So its good practice to discuss with ISV vendor and cleanup orphan and stranded data before starting data upgrade to avoid any ISV related errors.
  14. Once code upgrade and data upgrade are completed functional testing can be started. However, if code upgrade completed before data upgrade then functional team can start CR testing with Std data so that any bug/issue can be highlighted in advance and fixed before actual functional testing.
  15. First data upgrade is the part of development data upgrade which used to identify duration of each step and any error so that these orphan or duplicate data can be cleaned in AX 2012 production before starting next data upgrade in UAT. Also this data upgrade will help for functional testing before UAT.
  16. Its always recommended to do Mock cut over to simulate actual production data upgrade.