Client only Upgrade using $ndo$dbproperty table

Hi Guys, I have a client who has been using Navison 3.70 SQL for the past few months. They had been facing a problem with Transfer Order.This problem was not related to any piece of code but rather to internal handling of resultset. This problem was fixed by MBS and a new FinSQL.exe and ndbcs.dll is available. The new exe & dll available is of 3.70 B. The file version is 3.70.2.19516 while currently the client is using the exe with version 3.70.0.14555. If I try to open the existing DB with this new exe I am prompted to convert the DB. My problem is that 3.70B has not been released in India (with localization). Now if I use this exe and convert the DB will I face some problems as the Object etc have not been ugraded ?? I personally do not feel that there should be any problems but any insights into this will help. Also I checked the “$ndo$dbproperty” table in the current DB and another test database that I created and the only difference I found was in 3 cols. Field current testdb - databaseversion 16 17 - databasemagic 53637027 73583938 - shadowpwd some long string diff long string Now if I change the databaseversion prop. to 17 in a restored backup of the client db I do not get this message and apprently everything works fine. Can anybody let me know about any pitfalls of this - otherwise the solution seems fine ?? Thnks KMB

Basically what you are going to do, is run the 3.70 Objects on the 3.70B executables. This is fine you just need to upgrade ALL clients to this version, which is basically what the version control is about, (making sure al the clients have the same version). The only issue you may come across, is moving objets back to a 3.70 database, (copy rom 3.70B and paste to 3.70) may not work for everything, but generally it should be fine.

Hmm, just to clarify, the issue you may have could be where you have some code in the clients database that is on 3.70B, and you want ot copy paste variables etc back into a database on 3.70. When going backwards, sometimes Copy Paste does not work, since the structure of what you are copying is different. (You see it more when jumping a complete version (eg370 to 310). If this happens, you can normally just export the object and import it.

Hi David, Thanks for your reply. Can you tell me which approach to follow: - Proper conversion of the database or - Updating the databaseversion field in $ndo table. The reason I do not want to go for the Ist approach is that MBS India had warned us that since they have not tested the localized version on 3.70B the upgrade of the db will be at our own risk!!! By using the second method it seems that no objects etc are upgraded (since the upgrade message does not pop up) and I can simply install the new clients on all systems and get going. My PM is wants us to create a test system ,upgrade it to 3.70B and then test ALL POSSIBLE TRANSACTION to avoid any risks… you can understand how much time is this going to take !!! Do let me know if you have any knowledge of any problems in the 2nd approach. However I agree with your suggestion – i also do not foresee any problems in the client upgrade (its just the upgrade to a newer exe - there is no change in the bussiness logic of the objects) Thanks Again KMB

Going the second path is NOT recommended. Don’t you think Navision had a reason for that field? If the version did not matter, they would not bother to check.

Hi David, Point taken… but tell me do you forsee any problem if I convert the DB using the new client but do not chnage any of the objects ?? Any remote chances of a process not working or working incorrectly in this situation ? Regards KMB

I’ll echo what David said - changing the version numbers like this is not avoiding risk but introducing it. Navision changes system objects and views, triggers, all kinds of things when these upgrades occur and the executable versions that you’re running expect those changes thereafter. In your case going to 3.70B, only the Session view is changed. It does not affect your application objects. You should accept the database upgrade, but know that older clients prior to 3.70B will no longer be able to open the database.

Robert, thanks for the backup on this one. I don’t have your SQL skill set, but still believe that cross platfrom, its still not a wise move. Kmbhartiya, I have done EXE upgrades from 3.01 (DOS not windows) thru 4.00 (yes, Windows), and that means a LOT of versions. And it has always worked. You really should be safe here. OK having said that, there was one problem, and that was (hmm thinks which version, but…) 1.3 to 2.00 when Object names became unique. Or was it 2.00 to 2.01?

Hi David & Robert, Thanks a lot guys … i guess i will go the proper upgrade ways. There are things in Navision which even though one knows is correct, it always helps to have some confirmation. Regards KMB

Its like RAID 5, everyone knows you shouldn’t do it, but still people do.