Upgrade to NAV 2015. Standard objects with customer's data

delaghettodelaghetto Member Posts: 89
edited 2015-05-23 in NAV Three Tier
I'm trying to do a migration for NAV 5 SP1. to NAV 2015.

First I did upgrade from NAV 5 to 2009R2, which was basically open the database with 2009R2 client.

Then I started following the official blog post to upgrade from 2009R2 to 2015 http://blogs.msdn.com/b/nav/archive/2015/02/23/upgrading-from-microsoft-dynamics-nav-2009-r2-or-microsoft-dynamics-nav-2009-sp1-to-microsoft-dynamics-nav-2015.aspx

At this point, I have my NAV 2015 server instance pointing to my converted database. This is all my tables are there, and I have no Pages, Reports, CodeUnits, Querys, XMLPorts nor MenuSuites.

Now the blog says:
Task 6: Import the Application Objects to the Converted Database

In the development environment, import all the application objects that you want in the Microsoft Dynamics NAV 2015 database.
When you import the FOB file that contains the Microsoft Dynamics NAV 2015 objects, on the Import Worksheet, choose Replace All, and then choose the OK button to import the objects.
On the dialog box for selecting the schema synchronization, set the Synchronize Schema option to Later.
After you have imported Microsoft Dynamics NAV 2015 objects, import the upgrade toolkit FOB file Upgrade601800.[Country].fob from \UpgradeToolKit\Local Objects folder.
Compile all objects that have not been compiled yet. On the Compile dialog box, set the Synchronize Schema option to Later.

I just want to have my data (including custom fields) with a standard NAV 2015 application,

I haven't got any NAV 2015 fob. Where do I get these from? I guess I need to export all Pages, Reports, CodeUnits, Querys, XMLPorts and MenuSuites from CRONUS NAV 2015 and import them in my 2015 instance. Is this right?

Then for the tables, I guess I will have to merge my custom fields with the CRONUS ones? Is this right?

Thanks.

Comments

  • mohana_cse06mohana_cse06 Member Posts: 5,504
    there are 2 steps in each upgrade
    1. Upgrading the Application Code
    In this step you will be comparing and merging the customizations with latest version of NAV. You have prepare a FOB file with all objects (Tables, codeunits, pages etc)

    2. Upgrading the Data
    In this step we will follow the Upgrade objects released by Microsoft along with DVD

    It seems like you directly started with 2nd part. Please start creating FOB using 1st part
  • RoelofRoelof Member Posts: 377
    The article (link in the post) is mentioning an upgrade toolkit 'Upgrade601800.fob'. The only upgrade toolkit what I found, which came with NAV2015, is the 'Upgrade700800'.fob and 'Upgrade701800'.fob toolkits. Do I miss something?

    Thanks,
    Roelof
    Roelof de Jonghttp://www.wye.com
  • delaghettodelaghetto Member Posts: 89
    Is there any guide or link for the first part.. NAV 2015 code upgrade?

    However I insist. I want NAV 2015 standard objects.. no customizations except custom table fields.
  • delaghettodelaghetto Member Posts: 89
    Roelof wrote:
    The article (link in the post) is mentioning an upgrade toolkit 'Upgrade601800.fob'. The only upgrade toolkit what I found, which came with NAV2015, is the 'Upgrade700800'.fob and 'Upgrade701800'.fob toolkits. Do I miss something?

    Thanks,
    Roelof

    'Upgrade601800.fob' is available only since Cumulative Update 1 for Microsoft Dynamics NAV 2015. RTM version did not have the upgrade toolkit for NAV 2009 R2/SP1
  • delaghettodelaghetto Member Posts: 89
    Cool,

    I used this scripts to merge my objects. Now I have all NAV 2015 standard objects, and all my tables merged with custom fields and NAV 2015 fields.

    The problem I have is with code in the tables. I've got this in many tables:
    Method called on unsupported application object type: "Form".

    If I see my merged object, I have this code:
    IF FORM.RUNMODAL(FORM::Page38,ItemLedgEntry) = ACTION::LookupOK THEN
      VALIDATE("Appl.-from Item Entry",ItemLedgEntry."Entry No.");
    

    NAV 2015 CRONUS has this:
    IF PAGE.RUNMODAL(PAGE::"Item Ledger Entries",ItemLedgEntry) = ACTION::LookupOK THEN
      VALIDATE("Appl.-from Item Entry",ItemLedgEntry."Entry No.");
    

    So i guess the merge scripts dont update the code in tables?? What is the correct way to fix this errors? I actually want to have the standard NAV 2015 code in my tables.
  • mohana_cse06mohana_cse06 Member Posts: 5,504
    If you have NAV2013 or NAV2013R2 DVD with you then there is a tool available called Object Change Tools under UpgradeToolKit folder
    please export your all merged objects as txt file to above path and drag the file on to TextFormatUpgrade2013.exe file
    it will convert the text file to new situation like replace all Forms to pages etc by creating a new folder called Converted.
  • delaghettodelaghetto Member Posts: 89
    Excellent, Thanks Mohana, this tool really helped in solving the Form to Page issue.

    Now, one more thing I need to understand:

    I see my merged table objects don't have new code from NAV 2015. For example:

    Table 18 - Customer - OnDelete() Trigger has this code:

    CRONUS NAV 2015 (TARGET)
    IF DOPaymentCreditCard.FINDFIRST THEN
      DOPaymentCreditCard.DeleteByCustomer(Rec);
    
    ServiceItem.SETRANGE("Customer No.","No.");
    IF ServiceItem.FINDFIRST THEN
      IF CONFIRM(
           Text008,
           FALSE,
           TABLECAPTION,
           "No.",
           ServiceItem.FIELDCAPTION("Customer No."))
      THEN
        ServiceItem.MODIFYALL("Customer No.",'')
      ELSE
        ERROR(Text009);
    
    Job.SETRANGE("Bill-to Customer No.","No.");
    IF Job.FINDFIRST THEN
      ERROR(Text015,TABLECAPTION,"No.",Job.TABLECAPTION);
    
    MoveEntries.MoveCustEntries(Rec); ...
    

    MERGED NAV 2015:
    ServiceItem.SETRANGE("Customer No.","No.");
    IF ServiceItem.FIND('-') THEN
      IF CONFIRM(
           Text008,
           FALSE,
           TABLECAPTION,
           "No.",
           ServiceItem.FIELDCAPTION("Customer No."))
      THEN
        ServiceItem.MODIFYALL("Customer No.",'')
      ELSE
        ERROR(Text009);
    
    MoveEntries.MoveCustEntries(Rec);
    ...
    

    As you can see, some pieces of code are missing in my merged object:
    IF DOPaymentCreditCard.FINDFIRST THEN
      DOPaymentCreditCard.DeleteByCustomer(Rec);
    

    and
    Job.SETRANGE("Bill-to Customer No.","No.");
    IF Job.FINDFIRST THEN
      ERROR(Text015,TABLECAPTION,"No.",Job.TABLECAPTION);
    


    So now I'm not sure if I've done something wrong with the merge scripts, or this type of work must be done manually. What would be the official way of getting CRONUS NAV 2015 code into my merged objects?
  • mohana_cse06mohana_cse06 Member Posts: 5,504
    It seems something is wrong with the script you used.

    You can merge manually also if the no. of modified objects are less
Sign In or Register to comment.