IMPORTANT: The Engineering, Community & Online(ECO) Solution Asset Development team uses a tool to automatically query the hotfix server for hotfix package availability on a daily base. The PQO Content team will work on the article as soon as the hotfix is posted to the hotfix server (http://hotfix). If the hotfix is NOT posted directly to the hotfix server, please notify getkb for a prompt content publishing request and the exact release date of the hotfix package. (This applies to hotfixes published on Microsoft Download Center, Windows Update, Microsoft Update, or Office Update.)


If you are a content submitter, please provide the following information for the content request:

QFE product (Product DB:Bug Number, e.g. Windows SE:123456 Please include the information for the Applies To section here. If there are any modules or multiple versions, please state so here.) 
DynamicsNAVSE:348138



Support Incident Number
113050710420325



Provide the SYMPTOMS/SUMMARY of the issue
When upgrading a Microsoft Dynamics NAV Database including the cost accounting module which was available for certain courntries (e.g. Norway) to Microsoft Dynamics NAV 2013 you receive an error message:

TableData 3010551 does not exist."

When upgrading more than one Company.


What CAUSES of the symptoms
The reason is, that the upgrade toolkit is deleting not only the table data but also the old objects itself.


Describe the steps to RESOLVE/WORK AROUND the symptoms
Change Codeunit 104002:


---------- Before (BEFORE) ---------- Codeunit 104002 ---------- Function DeleteDiscontinuedTables
      DeleteTable(8727);
      DeleteTable(9801);

      DeleteTable(99008500);
      DeleteTable(99008501);
      DeleteTable(99008502);
---------- After  (AFTER) ------------------------------------------------------
      DeleteTable(8727);
      DeleteTable(9801);

      DeleteTable(3010551);
      DeleteTable(3010552);
      DeleteTable(3010553);
      DeleteTable(3010554);
      DeleteTable(3010555);
      DeleteTable(3010556);
      DeleteTable(3010557);
      DeleteTable(3010558);
      DeleteTable(3010571);
      DeleteTable(3010572);
      DeleteTable(3010573);
      DeleteTable(3010581);
      DeleteTable(3010582);

      DeleteTable(99008500);
      DeleteTable(99008501);
      DeleteTable(99008502);


Change Codeunit 104045
---------- Before (BEFORE) ---------- Codeunit 104045 ---------- Function ClearLocalCostAccTables
        IF StateIndicator.UpdateTable(TABLENAME) THEN BEGIN
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,TRUE);
          DELETEALL;
          DeleteTable(TABLENAME);
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,FALSE);
          StateIndicator.EndUpdateTable(TABLENAME);
        END;
---------- After  (AFTER) ------------------------------------------------------
        IF StateIndicator.UpdateTable(TABLENAME) THEN BEGIN
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,TRUE);
          DELETEALL;
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,FALSE);
          StateIndicator.EndUpdateTable(TABLENAME);
        END;
--------------------------------------------------------------------------------

---------- Before (BEFORE) ---------- Codeunit 104045 ---------- Function ClearLocalCostAccTables
        IF StateIndicator.UpdateTable(TABLENAME) THEN BEGIN
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,TRUE);
          DELETEALL;
          DeleteTable(TABLENAME);
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,FALSE);
          StateIndicator.EndUpdateTable(TABLENAME);
        END;
---------- After  (AFTER) ------------------------------------------------------
        IF StateIndicator.UpdateTable(TABLENAME) THEN BEGIN
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,TRUE);
          DELETEALL;
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,FALSE);
          StateIndicator.EndUpdateTable(TABLENAME);
        END;
--------------------------------------------------------------------------------

---------- Before (BEFORE) ---------- Codeunit 104045 ---------- Function ClearLocalCostAccTables
        IF StateIndicator.UpdateTable(TABLENAME) THEN BEGIN
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,TRUE);
          DELETEALL;
          DeleteTable(TABLENAME);
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,FALSE);
          StateIndicator.EndUpdateTable(TABLENAME);
        END;
---------- After  (AFTER) ------------------------------------------------------
        IF StateIndicator.UpdateTable(TABLENAME) THEN BEGIN
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,TRUE);
          DELETEALL;
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,FALSE);
          StateIndicator.EndUpdateTable(TABLENAME);
        END;
--------------------------------------------------------------------------------

---------- Before (BEFORE) ---------- Codeunit 104045 ---------- Function ClearLocalCostAccTables
        IF StateIndicator.UpdateTable(TABLENAME) THEN BEGIN
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,TRUE);
          DELETEALL;
          DeleteTable(TABLENAME);
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,FALSE);
          StateIndicator.EndUpdateTable(TABLENAME);
        END;
---------- After  (AFTER) ------------------------------------------------------
        IF StateIndicator.UpdateTable(TABLENAME) THEN BEGIN
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,TRUE);
          DELETEALL;
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,FALSE);
          StateIndicator.EndUpdateTable(TABLENAME);
        END;
--------------------------------------------------------------------------------

---------- Before (BEFORE) ---------- Codeunit 104045 ---------- Function ClearLocalCostAccTables
        IF StateIndicator.UpdateTable(TABLENAME) THEN BEGIN
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,TRUE);
          DELETEALL;
          DeleteTable(TABLENAME);
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,FALSE);
          StateIndicator.EndUpdateTable(TABLENAME);
        END;
---------- After  (AFTER) ------------------------------------------------------
        IF StateIndicator.UpdateTable(TABLENAME) THEN BEGIN
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,TRUE);
          DELETEALL;
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,FALSE);
          StateIndicator.EndUpdateTable(TABLENAME);
        END;
--------------------------------------------------------------------------------

---------- Before (BEFORE) ---------- Codeunit 104045 ---------- Function ClearLocalCostAccTables
        IF StateIndicator.UpdateTable(TABLENAME) THEN BEGIN
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,TRUE);
          DELETEALL;
          DeleteTable(TABLENAME);
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,FALSE);
          StateIndicator.EndUpdateTable(TABLENAME);
        END;
---------- After  (AFTER) ------------------------------------------------------
        IF StateIndicator.UpdateTable(TABLENAME) THEN BEGIN
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,TRUE);
          DELETEALL;
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,FALSE);
          StateIndicator.EndUpdateTable(TABLENAME);
        END;
--------------------------------------------------------------------------------

---------- Before (BEFORE) ---------- Codeunit 104045 ---------- Function ClearLocalCostAccTables
        IF StateIndicator.UpdateTable(TABLENAME) THEN BEGIN
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,TRUE);
          DELETEALL;
          DeleteTable(TABLENAME);
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,FALSE);
          StateIndicator.EndUpdateTable(TABLENAME);
        END;
---------- After  (AFTER) ------------------------------------------------------
        IF StateIndicator.UpdateTable(TABLENAME) THEN BEGIN
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,TRUE);
          DELETEALL;
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,FALSE);
          StateIndicator.EndUpdateTable(TABLENAME);
        END;
--------------------------------------------------------------------------------

---------- Before (BEFORE) ---------- Codeunit 104045 ---------- Function ClearLocalCostAccTables
        IF StateIndicator.UpdateTable(TABLENAME) THEN BEGIN
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,TRUE);
          DELETEALL;
          DeleteTable(TABLENAME);
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,FALSE);
          StateIndicator.EndUpdateTable(TABLENAME);
        END;
---------- After  (AFTER) ------------------------------------------------------
        IF StateIndicator.UpdateTable(TABLENAME) THEN BEGIN
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,TRUE);
          DELETEALL;
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,FALSE);
          StateIndicator.EndUpdateTable(TABLENAME);
        END;
--------------------------------------------------------------------------------

---------- Before (BEFORE) ---------- Codeunit 104045 ---------- Function ClearLocalCostAccTables
        IF StateIndicator.UpdateTable(TABLENAME) THEN BEGIN
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,TRUE);
          DELETEALL;
          DeleteTable(TABLENAME);
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,FALSE);
          StateIndicator.EndUpdateTable(TABLENAME);
        END;
---------- After  (AFTER) ------------------------------------------------------
        IF StateIndicator.UpdateTable(TABLENAME) THEN BEGIN
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,TRUE);
          DELETEALL;
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,FALSE);
          StateIndicator.EndUpdateTable(TABLENAME);
        END;
--------------------------------------------------------------------------------

---------- Before (BEFORE) ---------- Codeunit 104045 ---------- Function ClearLocalCostAccTables
        IF StateIndicator.UpdateTable(TABLENAME) THEN BEGIN
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,TRUE);
          DELETEALL;
          DeleteTable(TABLENAME);
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,FALSE);
          StateIndicator.EndUpdateTable(TABLENAME);
        END;
---------- After  (AFTER) ------------------------------------------------------
        IF StateIndicator.UpdateTable(TABLENAME) THEN BEGIN
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,TRUE);
          DELETEALL;
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,FALSE);
          StateIndicator.EndUpdateTable(TABLENAME);
        END;
--------------------------------------------------------------------------------

---------- Before (BEFORE) ---------- Codeunit 104045 ---------- Function ClearLocalCostAccTables
        IF StateIndicator.UpdateTable(TABLENAME) THEN BEGIN
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,TRUE);
          DELETEALL;
          DeleteTable(TABLENAME);
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,FALSE);
          StateIndicator.EndUpdateTable(TABLENAME);
        END;
---------- After  (AFTER) ------------------------------------------------------
        IF StateIndicator.UpdateTable(TABLENAME) THEN BEGIN
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,TRUE);
          DELETEALL;
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,FALSE);
          StateIndicator.EndUpdateTable(TABLENAME);
        END;
--------------------------------------------------------------------------------

---------- Before (BEFORE) ---------- Codeunit 104045 ---------- Function ClearLocalCostAccTables
        IF StateIndicator.UpdateTable(TABLENAME) THEN BEGIN
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,TRUE);
          DELETEALL;
          DeleteTable(TABLENAME);
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,FALSE);
          StateIndicator.EndUpdateTable(TABLENAME);
        END;
---------- After  (AFTER) ------------------------------------------------------
        IF StateIndicator.UpdateTable(TABLENAME) THEN BEGIN
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,TRUE);
          DELETEALL;
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,FALSE);
          StateIndicator.EndUpdateTable(TABLENAME);
        END;
--------------------------------------------------------------------------------

---------- Before (BEFORE) ---------- Codeunit 104045 ---------- Function ClearLocalCostAccTables
        IF StateIndicator.UpdateTable(TABLENAME) THEN BEGIN
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,TRUE);
          DELETEALL;
          DeleteTable(TABLENAME);
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,FALSE);
          StateIndicator.EndUpdateTable(TABLENAME);
        END;
---------- After  (AFTER) ------------------------------------------------------
        IF StateIndicator.UpdateTable(TABLENAME) THEN BEGIN
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,TRUE);
          DELETEALL;
          TimeLog.TimeLogInsert(TimeLog,TABLENAME,FALSE);
          StateIndicator.EndUpdateTable(TABLENAME);
        END;
--------------------------------------------------------------------------------



Registry Key Information
[Enter text here]


Provide MORE INFORMATION concerning the details
[Enter text here]


SOFTWARE UPDATE DETAILS
This software update is scheduled to ship in the following service pack(s)
[Enter text here]

Prerequisites to install the software update (be specific for multiple product(s))
[Enter text here]

Restart requirements (if you must reboot, explain why)
[Enter text here]

This software update replaces the following software update
[Enter text here]

Internal software update location (e.g. file share, http://hotfix/)
[Enter text here]

External software update download URL (e.g. Windows Update, Office Update, Download Center)
[Enter text here]


File attribute table
[Enter text here]



Should this article link to other KB articles? If yes, list them.
[Enter text here]

Stack dump
[Enter text here]

Content Reviewers (separate alias with semi-colon(;))
andregu

Notes to author
[Enter text here]

 

Resolution

A supported hotfix is now available from Microsoft. However, it is intended to correct only the problem that is described in this article. Apply it only to systems that are experiencing this specific problem. This hotfix may receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next P1 that contains this hotfix.

To resolve this problem immediately, contact Microsoft Customer Support Services to obtain the hotfix. For a complete list of Microsoft Customer Support Services telephone numbers and information about support costs, visit the following Microsoft Web site:

http://support.microsoft.com/contactus/?ws=supportNote In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.The P1 version of this P2 has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.

Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

More Information

For more informationP1, click the following article numberP2 to view the articleP2 in the Microsoft Knowledge Base:

P3 P4

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

What affected your experience?

Any additional feedback? (Optional)

Thank you for your feedback!

×