Saturday, March 26, 2022

NAV 2016 India to Business Central India Migration [ Part 1]

 Hello Friends,

Recently we have done Data Migration from NAV 2016 IN version to Business Central India version.

Here i have just give summary of NAV 2016 IN to BC 14 IN Upgrade Migration Process (Step 1)

NAV 2016 Steps  (Must be CU66 with TDS Patch)

=====================================

--> Make Sure that no object lock

    Most of object in compile mode (Try that all objects in compile mode)

    Goto Tool and Build Server Application Objects

    Run Sync Schema with Validation and check if there is no error in schema sync process

 

--> Upload Developer License File before doing any other steps

 

--> Note:

    1) Do not delete any object in NAV 2016 - Object Delete Part Cover in BC 14 - So from NAV 2016 you do not need to delete any object

    2) Move all standard table changes field data in new UPG Table - Create Same UPG Table with Key and Transfer Data using Upgrade Codeunit

       Once Datatransfer Done from Standard table - Delete that Upgrade Codeunit

    3) For New Custom table it is advicible to move data in custom UPG Table to.... after we move back data in orignal table by batch process.

    4) Once you move all your standard table and cutom table data in UPG codeunit, You can delete all new object (except UPG table) and import NAV 2016 CU66 object with TDS Patch

 

--> You can import base CU 66 All Objects with TDS Patch,

    Your standard Table fields and Custom table now move in UPG table - so Logically you can remove all the customized objects (include table) - Do not delete that UPG table (Standard and Custom table)

    So, after clean up you NAV 2016 Database with CU 66 IN verdsion + TDS Lates Patch + Upg table (Standard and Custom table only)

 

--> If Company Name contain below special char than first remove that

    [ ~ @ # $ % & * ( ) . ! % - + / = ? ]

 

--> STOP all service point to NAV 2016 DB

 

--> DELETE FROM [Server Instance]

    DELETE FROM [Debugger Breakpoint]

 

--> Take the Full Backup

--> Close all the intance of SQL Management Studio Before Convert

--> Convert Database in BC 14 Build which we install for BC 14 Upg  (TIME Take  - 10 Min)

  

BC 14 Steps  (BC 14 IN build)

Download Link - https://download.microsoft.com/download/c/6/4/c64076e6-7a9e-4a7b-b2e4-1b35fcbe3eae/Dynamics.14x.IN.3478340.DVD.zip

=============================

--> Configure the BC 14 Service with Converted Database

 

--> Compile All Object with Sync schema with Later mode  (TIME Take - 20+ Min)

    Note: You will get compile error for Table 5330 - CRM Connection Setup - you can ignore that table error

    Codeunit Error - 824|826|829|1410|5300|5301|5304|5305|5306|5309|5310|5311|130400|130402 - This all codeunit can ignore in comoile error

 

--> Build server application objects from Tool Menu

 

--> From BC Admin Shell Run Admin and Sync Schmea with Validation Mode

 

--> run data upgrade in BC 14  (if multile company in database than select Serial Mode option to run it)

 

--> Delete Below tables by using Force Sync Method

470|824|825|826|827|828|829|830|1305|1510|5150|5181|5371|5372|8640 - Delete Table in force mode

 

--> Publish the System.app and Test.app in BC 14 using BC Admin Shell

 

Publish-NAVApp -ServerInstance BC140 -Path 'C:\Program Files (x86)\Microsoft Dynamics 365 Business Central\140\AL Development Environment\System.app' -PackageType SymbolsOnly

Publish-NAVApp -ServerInstance BC140 -Path 'C:\Program Files (x86)\Microsoft Dynamics 365 Business Central\140\AL Development Environment\Test.app' -PackageType SymbolsOnly

 

--> Enable Symbol Load on Server Startup - in admin center you can make this changes

EnableSymbolLoadingAtServerStartup on config file

 

--> Generate Symbol Reference - Run below command in CMD

cd C:\Program Files (x86)\Microsoft Dynamics 365 Business Central\140\RoleTailored Client

finsql.exe Command=generatesymbolreference,  ServerName=DBSERVER\MSSQLSERVER2019, Database="Temp_NAV16_IN_BC_Migration"        //Make you add database name in double quote

 

[0] [03/25/22  7:05:55 AM] The command completed successfully in '472' seconds.

 

 

--> Publish INUpgradeTables.app file  (**** Do not run all step at once - please run it step by step ****)

Publish-NAVApp -ServerInstance BC140 -Path 'C:\Setup_Intech\BC14_IN\extensions\IndiaUpgradeTables.app'

Sync-NAVApp -Name 'India Upgrade Tables' -ServerInstance BC140

Install-NAVApp -ServerInstance BC140 -Name 'India Upgrade Tables'

 

Note: once you publish this app system will transfer Indian Localization Fields in INUpgradeTables (This will done when we do upgrade step - but in SQL you can see new table with extension )

 

--> Delete Indian Localization table object (*** must be do with Later Mode only ***)

    Delete Table objects of range 13700..16599 in later mode

 

--> Delete all objecs except tables

 

--> Import W1 fob later mode  (I think it will base version of w1 object)

    Note: We have place this all BC 14 CU 28 W1 Version fob file location (F:\OneDrive\Intech Systems Pvt Ltd\D365BC_ALProject_Source_ISPL - Documents\BC_Upgrade\99998 - IMP NAV 2016 IN to BC 19 Migration\Nilesh Gajjar Notes\4 - BC 14 W1 All Object -use for India Upg)

 

--> Import Upgrade90014x.IN.fob later mode (This fob file available in Setup folder) ***** Must be Import in Sync Later Mode *****

    Note: We place at (F:\OneDrive\Intech Systems Pvt Ltd\D365BC_ALProject_Source_ISPL - Documents\BC_Upgrade\99998 - IMP NAV 2016 IN to BC 19 Migration\Nilesh Gajjar Notes\5 - BC 14 Upg Toolkit object Fob)

   

    UPG IN codeunit code to move customer field data (From Developer Environment Just Select Start Data Upgrade)

 

--> Run Schema Sync with validation  

 

--> Just Verify your data move in IN Upg Table - Run Below Query to check it

    Select * from [CRONUS India Ltd_$UPG GST Group$eda459d9-3d32-4036-887e-2fa0bd4337f5]

 

--> Restart service of BC 14 DB

 

--> ** Run the Developer Env as Administrator *** and Start Data upgrade from BC 14 Developer Environment (Run on Serial Method)

 

--> Next step is generate symbol again - RUN CMD as Admin and run below command

cd C:\Program Files (x86)\Microsoft Dynamics 365 Business Central\140\RoleTailored Client

finsql.exe Command=generatesymbolreference,  ServerName=DBSERVER\MSSQLSERVER2019, Database="Temp_NAV16_IN_BC_Migration"        //Make you add database name in double quote

[0] [03/25/22 11:28:28 AM] The command completed successfully in '492' seconds.

 

--> compile 2 lakhs series objecs with validation

    build server application objects

 

 

--> Publish extension in following sequence

    ---------------------------------------

 

Publish-NAVApp -ServerInstance BC140 -Path 'C:\Setup_Intech\BC14_IN\extensions\IndiaTaxEngine.app'

Sync-NAVApp -Name 'Tax Engine' -ServerInstance BC140

Install-NAVApp -ServerInstance BC140 -Name 'Tax Engine'

 

Publish-NAVApp -ServerInstance BC140 -Path 'C:\Setup_Intech\BC14_IN\extensions\IndiaTaxBase.app'

Sync-NAVApp -Name 'India Tax Base' -ServerInstance BC140

Install-NAVApp -ServerInstance BC140 -Name 'India Tax Base'

 

Publish-NAVApp -ServerInstance BC140 -Path 'C:\Setup_Intech\BC14_IN\extensions\IndiaTaxGST.app'

Sync-NAVApp -Name 'India GST' -ServerInstance BC140

Install-NAVApp -ServerInstance BC140 -Name 'India GST'

 

Publish-NAVApp -ServerInstance BC140 -Path 'C:\Setup_Intech\BC14_IN\extensions\IndiaUPGTCS.app'

Sync-NAVApp -Name 'India TCS' -ServerInstance BC140

Install-NAVApp -ServerInstance BC140 -Name 'India TCS'

 

Publish-NAVApp -ServerInstance BC140 -Path 'C:\Setup_Intech\BC14_IN\extensions\IndiaUPGTDS.app'

Sync-NAVApp -Name 'India TDS' -ServerInstance BC140

Install-NAVApp -ServerInstance BC140 -Name 'India TDS'

 

Publish-NAVApp -ServerInstance BC140 -Path 'C:\Setup_Intech\BC14_IN\extensions\INFADepreciation.app'

Sync-NAVApp -Name 'Fixed Asset Depreciation for India' -ServerInstance BC140

Install-NAVApp -ServerInstance BC140 -Name 'Fixed Asset Depreciation for India'

 

Publish-NAVApp -ServerInstance BC140 -Path 'C:\Setup_Intech\BC14_IN\extensions\INGateEntry.app'

Sync-NAVApp -Name 'India Gate Entry' -ServerInstance BC140

Install-NAVApp -ServerInstance BC140 -Name 'India Gate Entry'

 

Publish-NAVApp -ServerInstance BC140 -Path 'C:\Setup_Intech\BC14_IN\extensions\INVoucherInterface.app'

Sync-NAVApp -Name 'India Voucher Interface' -ServerInstance BC140

Install-NAVApp -ServerInstance BC140 -Name 'India Voucher Interface'

 

Publish-NAVApp -ServerInstance BC140 -Path 'C:\Setup_Intech\BC14_IN\extensions\IndiaUpgradeTables.app'

Sync-NAVApp -Name 'India Upgrade Tables' -ServerInstance BC140

Install-NAVApp -ServerInstance BC140 -Name 'India Upgrade Tables'

 

Publish-NAVApp -ServerInstance BC140 -Path 'C:\Setup_Intech\BC14_IN\extensions\UPGIndia.app'

Sync-NAVApp -Name 'India Data Migration' -ServerInstance BC140

Install-NAVApp -ServerInstance BC140 -Name 'India Data Migration'

 

--> After Successfully install all extension ( you can run BC Web client in broser - http://localhost:8080/BC140/)

    Search for page --> Transfer Data

    Click on --> Start Data Migration  ( **** NOTE THIS ACTIVITY NEED TO DO EACH COMPANY ONE BY ONE)

    Click on --> Delete Upgrade Table Data ( ** Before click on it you must run Start Data Migration in Each Company)

 

--> Run Query Data for verify that Data Upgrade Properly

                Select * from [CRONUS India Ltd_$GST Group$f04faccf-55a9-49a5-82be-6a751dd8f291]

                Select * from [CRONUS India Ltd_$GST Group$db643212-b7fb-4dd4-b5a8-cb44ac714461]

                Select * from [CRONUS India Ltd_$UPG GST Group$eda459d9-3d32-4036-887e-2fa0bd4337f5]

 

                My Case below Query

 

                Select * from [EnProCon_Cronus_Test$GST Group$db643212-b7fb-4dd4-b5a8-cb44ac714461]      // Standard BC IN GST Extension

                Select * from [EnProCon_Cronus_Test$UPG GST Group$eda459d9-3d32-4036-887e-2fa0bd4337f5]  //Old INDIA UPG Table Ext


--> After Data Transfer Complete you can Un-Install below two app rrom Extension Management Page and Un Publish it by using Script


    UnPublish-NAVApp -ServerInstance BC140 -Name 'India Data Migration'

    UnPublish-NAVApp -ServerInstance BC140 -Name 'India Upgrade Tables'

==============

BC 14 IN Version all extension install properly

New Data Transfer Page in BC 14 Version for transfer data













After Data Transfer Complete it will show like below













Microsoft Refence Document for NAV 2016 IN to BC 14 Upgrade:

https://www.youtube.com/watch?v=n4gc__nVquk

https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/upgrade/india-data-migration-toolkit-overview

https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/upgrade/converting-a-database

https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/upgrade/post-india-upgrade-tables

Done....

In Part 2 Blog i will details for BC 14 to BC 20 Migration process

Thank you for reading...

Keep Sharing....Keep Growing...