Merge-NAVApplicationObject -ModifiedPath?

I hope, you already know what is new PowerShell application merge tool in Microsoft Dynamics NAV 2015. The new application merge features include a few of PowerShell cmdlets, but now, I will write only about Merge-NAVApplicationObject.

This tool compares the changes that have been made between two sets of NAV application objects, and applies the difference to a third set of application objects. The result of merge are text files with the merged objects and text files with conflicts, where cmdlet could not merge them.

This cmdlet is as following:

Merge-NAVApplicationObject -ModifiedPath C:\Upgrade\MODIFIED -OriginalPath C:\Upgrade\ORIGINAL -ResultPath C:\Upgrade\RESULT -TargetPath C:\Upgrade\TARGET

To run this command, we have to determine what is ORIGINAL, MODIFIED, TARGET and RESULT.

ORIGINAL is the baseline of application merge.

TARGET is version of application that we want to apply the difference between the original and modified.

RESULT is finally version of merged objects with conflicts, as well.

But, what is a MODIFIED?

Can we set our customized database in MODIFIED (and new NAV version in TARGET) or we can use new version of NAV as MODIFIED (and our customized version as TARGET)?

We usually have a less differences between new version of NAV and ORIGINAL. When you make test with both combinations, you will see that merging when you use new NAV version as MODIFIED is two time faster in comparison when you set a your customization as MODIFIED.

But “two times” is in relation with minutes, not hours and it is not so important. Result is important. In my very complex example (a lot of customizations), results is almost the same. I have 1194 conflicts in one test and 1197 in other. That means, it is also not important.

But very important thing is that if you set NAV new version as MODIFIED, you can have problem with license in import objects process.

Because of that, you always have to use your customized solution as MODIFIED and the new NAV version as TARGET.

2 thoughts on “Merge-NAVApplicationObject -ModifiedPath?

  1. When we are adding functions, text constants, variables etc to standard NAV objects, we always add them at the end of the lists with a separator. Just to easy identify what’s customized and what’s not.

    If we now merge objects where there are added functions etc both in MODIFIED and new version it seems that the functions etc from TARGET is placed after the ones from MODIFIED. Resulting in that standard functions etc looks like customized ones…
    This makes us always switch MODIFIED and TARGET when merging objects. The scripts tend to be a bit confusing, but the result is better (for us at least).

    The import object issue can be resolved by importing fob with target (the real target, not TARGET parameter above ;)) objects before importing text file from the merge.

    Just my 2 cents…

    Liked by 1 person

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.