Skip to main content

AX 2012 to D365 Migration step by step

 

1. Pre-Migration Assessment

  • Inventory Analysis:
    • List all customizations, ISV solutions, integrations, and reports in AX 2012.
  • Environment Setup:
    • Prepare a D365FO development environment.
  • Upgrade Path:
    • Only AX 2012 R2/R3 can be upgraded directly. AX 2009 or older requires reimplementation.

2. Code Upgrade

  • Use the Code Upgrade Tool in Lifecycle Services (LCS):
    • Upload AX 2012 model store to LCS.
    • Analyze and convert to D365FO-compatible models.
  • Resolve Conflicts:
    • Refactor deprecated APIs and adapt to D365FO extensions model (no over-layering).
  • Compile & Validate:
    • Ensure all customizations compile successfully in D365FO.

3. Data Upgrade

  • Upgrade Data in Two Stages:
    • Stage 1: AX 2012 → D365FO Data Upgrade Package
      • Use Data Upgrade scripts provided by Microsoft.
    • Stage 2: Apply Data Upgrade in Sandbox
      • Validate migrated data (ledger, customers, vendors, assets, etc.).
  • Data Entities:
    • Use Data Management Framework (DMF) for additional imports/exports.

4. Functional Upgrade

  • Validate Business Processes:
    • Test workflows, security roles, and configurations.
  • Reconfigure Features:
    • Some AX 2012 features are deprecated or redesigned in D365FO.
  • Train Users:
    • Prepare training for new UI and functionality.

5. Integrations & Reports

  • Rebuild Integrations:
    • Move from AIF to OData/Custom Services.
  • Reports:
    • Convert SSRS reports and adapt to D365FO standards.

6. Testing & Go-Live

  • Perform UAT:
    • Validate all migrated data and processes.
  • Cutover Plan:
    • Freeze AX 2012 transactions before final migration.
  • Go-Live:
    • Deploy to production and monitor.

Tools & Resources

  • Lifecycle Services (LCS) for upgrade analysis.
  • Code Upgrade Tool for model conversion.
  • Data Upgrade Scripts from Microsoft.
  • Regression Suite Automation Tool (RSAT) for testing.

Comments

Popular posts from this blog

Process of Sales order in Technical terms in D365Fo

 🔥 Sales Order Technical Flow in D365FO (Creation → Confirmation → Picking → Packing Slip → Invoice → Accounting) 1. Sales Order Creation Tables SalesTable → SO header SalesLine → SO lines CustTable → Customer master InventDim / InventDimCombination → Dimensions InventTable / EcoResProduct → Item master Framework Classes SalesTableType / SalesLineType Responsible for validation, defaulting, creation logic Key Methods SalesTable.initValue() SalesLine.initFromSalesTable() SalesTable.validateWrite() SalesLine.validateWrite() Events (Extensions) SalesTableType.createSalesTable() SalesLineType.createSalesLine() 2. Reservation (Optional) If reservation is done: Tables InventTrans (Reservation status) InventReservation Classes InventUpd_Reservation InventTransReservation Reservations impact picking and inventory availability. 3. Sales Order Confirmation Confirms order and freezes price/quantity. Posti...

Top 200 Q&A in D365FO Technical

  SECTION 1 — X++ BASICS (10 Q&A) 1. What is X++? A proprietary object-oriented language used in Dynamics 365 Finance & Operations for business logic, similar to C# but integrated with D365 runtime. 2. What is a TableBuffer? It is an in-memory object referencing a table. Example: CustTable custTable; 3. What is difference between select and select firstonly ? select → returns all matching rows firstonly → returns only the first matched row 4. What is ttsbegin & ttscommit ? Used to wrap database transactions; ensures atomicity. 5. Can we write SQL queries directly in X++? No. X++ uses a database-abstracted select statement. 6. What is a container? A collection datatype used to store mixed data types. 7. Difference between container and map? Map stores key-value pairs; container is indexed and immutable. 8. What is a temp table? A table that stores data temporarily in memory or database depending on property. 9. What is recursion in X++? A method c...

Process of Purchase order in Technical terms in D365Fo

  Purchase Order Technical Flow in D365FO (Step-by-Step) (From creation → approval workflow → posting → product receipt → invoice → accounting) 1. Purchase Order Creation Tables involved PurchTable → PO header PurchLine → PO lines VendTable → Vendor master InventDim / InventDimCombination → Item dimensions EcoResProduct / InventTable → Item master Classes / Framework PurchTableType / PurchLineType Framework that controls creation, validation, defaulting. Key methods PurchTable.initValue() PurchLine.initFromPurchTable() PurchTable.validateWrite() PurchLine.validateWrite() Events (Extension points) PurchTableType.createPurchTable() PurchLineType.createPurchLine() 2. Purchase Order Confirmation Document Status update PurchTable.DocumentState → Confirmation PurchParmBuffer tables used for versioning. Posting Class PurchFormLetter_Confirm Called internally via PurchFormLetter::construct(DocumentStatus::Co...