Skip to main content

The metadata object Table was not found - Error during Data Upgrade To NAV 2013, NAV 2013R2 & NAV 2015.

Hi Readers,

In Archerpoint we would like everyone using NAV / Business Central in the community to be Stay Current, which means stay on the latest and greatest version of the product.

We are upgrading one of the customers to the latest and greatest version to Business Central 2019 Wave 2 from NAV 2009 with multiple companies.

This article applies if you are Upgrading to #NAV2013, #NAV2013R2 & #NAV2015.

Everything was working fine till we started data upgrade to NAV 2015 from NAV 2009. During Data Upgrade to NAV 2015 system generated error message.


To check the issue, we ran Powershell cmdlet Get-NAVDataupgrade with parameter ErrorOnly.



Error - The Metadata object Table 10141 was not Found.

Reason Behind Error Message - 

It seems the customer had to delete some tables in the past and add-ons. The tables that were deleted had some data in Ledger Entry Dimension or Posted Document Dimension or other dimension records.

During Data Upgrade, when the upgrade toolkit tries to convert old dimension entries to Dimension Set ID system generated error message because the table was not found in the database.

First Fix - 
We checked the table in the Dimension Tables and deleted records for table number listed in error message. That worked fine but then another table and then another table.

And then I decided to fix it for once so it does not appear again during this migration.

Where is the code segment which generates this error message?

After analysis we found out that error is generated from -
Codeunit 104049 UpgradeDimensionEntry, 
Function - UpdateParentTable.

System Read the Parent Table number where Dimension Set ID should be updated from SQL and store in variable ParentTableID2 as shown below.


So Saurav What is the Fix?

Oh, it was quite easy!

Get Table number that is returned via SQL and store in ParentTableID2 and check that exist or not. If exist then let the upgrade process continue.

Let's create a function that accepts a Table Number and check table existence in Object Table.



And then call this function in UpdateParentTable function as shown below.


Hope this article helps you when you have to do a legacy migration.

I am loving it while doing a legacy migration and bringing our customer to the latest and greatest version of the #Msdyn365BC. There is a lot to learn in the past.

Let me know your views as a comment on this article.

Regards,
Saurav Dhyani
www.sauravdhyani.com

Comments

Popular posts from this blog

VIEW SERVER STATE permission on SQL Server?

Hi all, Sometime While trying to Login into a database we face an error message as shown below. --------------------------- Microsoft Dynamics NAV Classic --------------------------- You cannot start Microsoft Dynamics NAV Classic because you do not have the VIEW SERVER STATE permission on SQL Server. Contact your system administrator. --------------------------- OK    ---------------------------

BC 21 and Higher - PowerShell Cmdlet (Replacement of Business Central Administration).

Hi Readers, As discussed in last article about deprecating of Business Central Administration, there are few common actions that we use in administration till Business Central 20. For our on-prem customers, we will still require doing activities. As Microsoft suggest we need to start using PowerShell cmdlet.    Let's see how to do those via PowerShell, or Administration Shell. I will be keep adding commands as you comment to this article.

Send Mail with Attachment From Navision.

Hi all, We have seen how to save a report into PDF and how to send mail to a customer. Let's link these two post in one i.e. Mailing statement to a customer into PDF Format. This article is part of the Series. Please Refer  Table of Content here . If you have the old objects set let me brief you what I will be changing -