A couple of weeks ago I started working on a code review of two of our add-ons. One build on the German (DE) and the other on the Dutch (NL) version of NAV 2009 SP1.
The first step I take in this kind of job is to perform a simple text compare using a tool like Beyond Compare or Araxis. I compare our code with standard NAV; our current code with the previous code; I might even compare standard current NAV with previous.
Doing this for these add-ons I did hit upon a number of standard objects that my tool indicated as changed, but actually weren’t. Yes, they were changed, but the only changes were in the object properties Version List and/or Date. So from a code perspective nothing had changed. For sake of ease I’ll call them the false positives.
Well, yes and no. If it was only a couple objects I could live with that, but reviewing 1000+ of objects and finding more than 100 of them marked as changed falsely, makes my work inefficient and more error prone than needed. I want to rely on my data and don’t want exceptions – at least not that many. So I logged and incident on Partner Source (9599353) asking for a fix. Now weeks later I still don’t have a fix. The MS support engineer has worked on it for sure. But he’s relying on other MS people and apparently a fix for this issue doesn’t seem to have a hight enough priority. I fully understand that having been there, but it does not solve my issue. Nothing else to do than fix it myself.
I decided to:
- make a full inventory of w1, NL and DE objects in NAV 2009 SP1
- record if they were candidates for the false positives in an Excel list
- create a ObjectTime export of all these objects (including Version List – see updated tool in .zip file), that I could easily use to update any NAV 2009 SP1 database easily
Can be found here (gathered in one .zip file).
- The list of the false positives can be found in the Excel file (Invalid Version List Changes.xlsx)
- The ObjectTime data can be found in:
- w1 – only w1 objects: Reverse ObjectTime NAV 2009 SP1 – NAV 2009 w1.txt
- NL – only NL objects: Reverse ObjectTime NAV 2009 SP1 – NAV 2009 NL.txt
- Update of the ObjectTime tool so that Version List data is also handled
- I did not include:
- Pages, as pages are based on and created from Forms in the MS build process.
- Other country versions than w1, NL and DE . [:$] But … if you have I am more than willing to add them to the Excel attachment.
- Objects that have a reverse change in Version List as probably some of them had been updated wrongly for NAV 2009 (6.00) or as stated on this MS Dynamics NAV blog post.
- DE add-ons (Germany) – there were even more false positives there regarding the Date object property.
- Numerous forms that have been updated with respect to control IDs
- No specific DE object was found false positive.
- A second worksheet in the Excel file lists objects that do not have an updated Version List and Date but actually should have. I did not create any ObjectTime data for these objects.
- I did use Beyond Compare. If I had used Araxis I probably wouldn’t have made such a fuss about this all. Using regular expressions in Araxis I can easily filter out irrelevant changes in object properties.
I did spend quite some hours in collecting and checking and double checking the data in the attachments. Nevertheless I cannot guarantee that the data is 100% right, even if I would. Please add a comment to this blog post if you do find errors or omissions in my data. So any other user can profit from that. Thanx in advance.