Options

Data Upgrade Error

birrebirre Member Posts: 22
edited 2015-06-10 in NAV Three Tier
Hi,

i've been working on this for several days now, but can't seem to find any solution. I am doing a test upgrade from NAV2009 to NAV2015, but on the Data Upgrade, I always get the error 'Choose a valid field in the Contact table'.

The error shows up when I execute a Get-NAVDataUpgrade -ServerInstance -Detailed | Out-GridView command in the powershell, giving the FailedPendingResume state in the StartUpgrade function.

There are a few customized fields in the Contact table, but noone where the DataType should be a problem.

Thanks in advance

Answers

  • Options
    JutJut Member Posts: 72
    Hi birre,

    I would suggest that you try to start the data upgrade from the DEV-Environment while having the Debugger in "Debug Next" mode. This could help you to identify the source of that error because the debugger should stop at the error.

    I hope that helps!

    Best regards,
    Jut
  • Options
    birrebirre Member Posts: 22
    Hi,

    Unfortunately, the debugger doesn't break when running the upgrade from the development area.
  • Options
    JDVyskaJDVyska Member Posts: 179
    Hey, I ran into this issue today, but instead I was getting: 'Choose a valid field in the To-do table.'

    When I looked in the Event Log, I saw it was a similar useless message:
    Function 'StartUpgrade' in the upgrade codeunit '104055' in the context of the company 'REDACTED' has failed because of the following error: 'Choose a valid field in the To-do table.'

    But Codeunit 104055 doesn't reference To-Do table at all. I was stumped for a bit, but then I noticed I could see a longer stack trace, and deeply buried was this:
    [...]
    Message: Choose a valid field in the To-do table.
    StackTrace:
         at Microsoft.Dynamics.Nav.Runtime.NavDialog.ALError(Guid automationId, String message, NavValue[] values)
         at Microsoft.Dynamics.Nav.BusinessApplication.Record5303.ValidateFieldValuePair_Scope.OnRun()
         at Filter.InvokeWithFilter(NavMethodScope )
         at Microsoft.Dynamics.Nav.BusinessApplication.Record5303.OnInvoke(Int32 memberId, Object[] args)
         at Filter.InvokeWithFilter(NavMethodScope )
         at Microsoft.Dynamics.Nav.BusinessApplication.Record5303.Value_a45_OnValidate()
         at Microsoft.Dynamics.Nav.Runtime.NavRecord.ValidateField(Action`1 fieldEvent, NCLMetaField metaField, Boolean isUserInput)
         at Microsoft.Dynamics.Nav.Runtime.NavRecord.Validate(NCLMetaField metaField, NavValue newValue, NavRecord callerRecord, Boolean isUserInput)
         at Microsoft.Dynamics.Nav.BusinessApplication.Record5303.OnModify_Scope.OnRun()
         at Filter.InvokeWithFilter(NavMethodScope )
         at Microsoft.Dynamics.Nav.BusinessApplication.Record5303.OnModify()
    
    [...]
    

    That clued me in. I ended up needing to delete most of the records in the Outlook Synch tables (Particularly 5303 Outlook Synch. Filter) and just migrate them manually later. When those tables are emptied out, the codeunits can go just fine.


    I will say, when I ran the Upgrade tools for a database with multiple companies, however, I ran into a bug AFTER that about:
    Message:
      Another user has modified the record for this Object after you retrieved it from the database.
      
      Enter your changes again in the updated window, or start the interrupted activity again.
      
      Identification fields and values:
      
      Type='Table',Company Name='',ID='104001'
    

    This was only happening during the Object Deletion Marking process. I ended up just commenting that out, since I knew which objects to delete regardless of the Version tag. Hope this helps!


    (Let me know if this solves your problem with a reply, I'm curious what sort of issues people hit when upgrading.)
    JEREMY VYSKA
    CEO, Spare Brained Ideas, Göteborg, Sweden
    New (April 2021) Getting Started with Microsoft Dynamics 365 Business Central Book Available: "Your First 20 Hours with Business Central"
  • Options
    birrebirre Member Posts: 22
    Hi,

    Thank you a million times! That did help solve the issue (I received the same error after, just had to sync the tables again)!
    You just exported and imported those rows in the Outlook Synch tables?

    Thanks!!
  • Options
    JDVyskaJDVyska Member Posts: 179
    Honestly, the client's database, they don't use outlook synch, so I just deleted the data entirely. If they want the defaults in there, I'll bring them in from a Cronus and not worry too much about it.

    Likely, there is supposed to be a "correct" way, but you'll have to review the Upgrade Toolkit code for the Outlook tables and see if there's anything special to do.
    JEREMY VYSKA
    CEO, Spare Brained Ideas, Göteborg, Sweden
    New (April 2021) Getting Started with Microsoft Dynamics 365 Business Central Book Available: "Your First 20 Hours with Business Central"
  • Options
    gideongideon Member Posts: 17
    JDVyska wrote:
    Hey, I ran into this issue today, but instead I was getting: 'Choose a valid field in the To-do table.'


    I will say, when I ran the Upgrade tools for a database with multiple companies, however, I ran into a bug AFTER that about:
    Message:
      Another user has modified the record for this Object after you retrieved it from the database.
      
      Enter your changes again in the updated window, or start the interrupted activity again.
      
      Identification fields and values:
      
      Type='Table',Company Name='',ID='104001'
    

    This was only happening during the Object Deletion Marking process. I ended up just commenting that out, since I knew which objects to delete regardless of the Version tag. Hope this helps!


    (Let me know if this solves your problem with a reply, I'm curious what sort of issues people hit when upgrading.)


    Work around for this is the Parallel and Serial Execution Modes for Upgrade Codeunit Functions
    https://msdn.microsoft.com/en-us/librar ... 8(v=nav.80).aspx
  • Options
    dynamicssquareukdynamicssquareuk Member Posts: 3
    Hi , Experiencing a 'Choose a valid field in the Contact table' error during NAV2009 to NAV2015 upgrade. Checked custom fields, ruled out DataType issues. Investigate field validation, data dependencies, upgrade toolkit, and review logs. Consider seeking help on Microsoft forums. or you can check - https://www.dynamicssquare.co.uk/blog/upgrade-dynamics-nav-to-dynamics-365-business-central/
    Best of luck!

Sign In or Register to comment.