DataUpgradeMgt.SetTableSyncSetup(TableA, TableB, move) but nothing happens

SunsetSunset Posts: 153Member
For an upgrade from 2016 to 2018 we have cone over the customers modifications, and have done some restructuring. Both in regards to ekstra fields in regular tabels, and for added tables.
The solution is working, so now I am starting on the upgrade, and since we will be using/needing som of the old values I figured I might as well just add them to Codeunit 104000 and let the upgrade take care of it.
But for some reason the customers tables seem to be completely ignored by the upgrade. Has anybody else experienced this behaviour?

For clarity:
I'm following https://docs.microsoft.com/en-us/dynamics-nav/upgrading-the-data
The customer has in the current solution Table 50010 "Fixed Prices", in the new system this table does not exist but we need some of the values in Table 60010 "Custumer fixed prices".
My train of thinking was that
1. I create a new table 91010 "UPG Fixed Prices" as a copy of 50010
2. Add DataUpgradeMgt.SetTableSyncSetup"(Database::"Fixed Prices", Database::"UPG Fixed Prices", TableSynchSetup.Mode::Move) to GetTableSyncSetupW1
3. Create a function within 104000 Called UpgradeFixedPrice and make sure it is set to UpgradePerCompany, that handles the datamigration from table 91010 to 60010.

However when I follow the conversion steps it seems like the data is never moved from 50010 to 91010, and therefor I get no data to my new table. Looking at the tables after the upgrade only 50010 has any values. Both 91010 and 60010 are empty.
If I've understood the steps correctly then Task 12 should move all data from 50010 to 91010 and Task 13 should fire of my datamigration.

What am I missing?

Don't just take my word for it, test it yourself

Best Answer

  • SunsetSunset Posts: 153
    Accepted Answer
    I found the missing part. Since I am not doing any changes to the 50010 table, it will not be inserted in the Synch Table, and therefor addind it to DataUpgradeMgt.SetTableSyncSetup has no effect.

    Instead you have to have the UpgradePerCompany function retrieve it from the original table.
    Don't just take my word for it, test it yourself

Answers

  • SunsetSunset Posts: 153Member
    Accepted Answer
    I found the missing part. Since I am not doing any changes to the 50010 table, it will not be inserted in the Synch Table, and therefor addind it to DataUpgradeMgt.SetTableSyncSetup has no effect.

    Instead you have to have the UpgradePerCompany function retrieve it from the original table.
    Don't just take my word for it, test it yourself
Sign In or Register to comment.