Upgrade NAV 2009 -> NAV2013 (OemCode / OemText)

25. Januar 2017 18:47

Hallo Community,

da ich zu diesem Thema nur sehr schwer Informationen finde, dachte ich mir, mal ein neues Thema aufzumachen, damit vielleicht der Nächste nicht in die selben Fehler läuft.

Zu den Rand-Informationen: Wir befinden uns aktuell in einem Update Projekt von Navision 4.03 (techn. 5 mit SQL) zu NAV 2016. Im Zuge des Update Schritts erfolgt ein Schritt von NAV 2009 R2 zu NAV 2013.

Zum meinen aktuellen Fehlverhalten: Nach der erfolgreichen Datenbank-Konvertierung zu NAV2013 (mittels Build xxxx) sind in allen Tabellen die Datentypen von Code und Text Felder OemText und OemCode. Diese Felder sind keine typischen Navision Feldtypen und können so auch nicht manuell ausgewählt werden wenn man ein Feld anlegen möchte. Zu diesem Fehler gibt es einen Blog Eintrag von Marije Brummel. (https://dynamicsuser.net/nav/b/mark_brummel/posts/nav-2013-unicode-oemcode-amp-oemtext)
Dort wird beschrieben, das der Fehler auftritt wenn eine *.fob in NAV 2013 eingelesen wird, die mittels des "Save As" Button aus dem Import Worksheet aus NAV 2009 erstellt wurde. Bei meinem aktuellen Fall tritt der Fehler schon direkt nach der Datenbank-Konvertierung auf, ohne das wir irgendein Objekt eingespielt haben. Insofern MUSS der Fehler während der Datenbank-Konvertierung entstanden sein. Diese Oem-Datentypen beziehen sich in allen Artikel auf die Konvertierung zu UNICODE.

Mein derzeitiger Lösungsansatz:
Wie in Marije Brummel's Blog Eintrag beschrieben, habe ich in NAV 2013 alle Tabellen als *.txt Datei exportiert und mittels "Suchen und Ersetzen" die Datentypen durch ihr NAV Pendant ersetzt (OemCode -> Code / OemText -> Text).
Danach lassen sich die Tabellen wieder importieren und haben den richtigen Datentypen und das Update kann fortgeführt werden.

Weitere Info's:
Es gibt einen weiteren Blog Eintrag von Kriki (https://krikinav.wordpress.com/2016/05/06/field-version-list-in-the-object-table/) der sich mit einem ähnlichen Phänomen beschäftigt, aber in Bezug auf das "Version List" Feld. Darin ist beschrieben das diese Oem-Datentypen in SQL Sicht keine NVARCHAR Datentypen sind (UNICODE SQL Datentyp) sondern "normale" VARCHAR". Das ist bei mir ebenso nicht! Alle Felder sind laut SMS NVARCHAR-Datentypen. Das bedeutet für mich erst einmal das die Datenbank Konvertierung die Konvertierung nach UNICODE erfolgreich gemacht hat aber es eine Diskrepanz gibt zwischen den SQL Tabellen und den NAV Tabellen nach der Konvertierung. Ich kann mir aber aktuell beim besten Willen nicht erklären, wie es zu diesem Fehler kommt und wie man ihn eventuell schon in NAV 2009 vorbeugen kann (Das 2009'er Update habe ich samt Merge mittlerweile 2,5-mal gemacht).

Also wer zu diesem Thema weitere Infos hat, was ich prüfen kann, wie man das verhindern kann, wie man es eventuell effizienter lösen kann - Immer her damit.

Ansonsten schönen Abend euch noch,
Udo.

Re: Upgrade NAV 2009 -> NAV2013 (OemCode / OemText)

25. Januar 2017 19:09

Hallo,

eine einfache Prüfmöglichkeit wäre evtl. eine Form auf der Tabelle "Field". Evtl werden da schon die betroffen Felder angezeigt.

Gruß Fiddi

Re: Upgrade NAV 2009 -> NAV2013 (OemCode / OemText)

26. Januar 2017 12:08

fiddi hat geschrieben:eine einfache Prüfmöglichkeit wäre evtl. eine Form auf der Tabelle "Field". Evtl werden da schon die betroffen Felder angezeigt.


Meinst du in 2009 oder in 2013? In 2009 hatte ich überprüft ob die Felder noch richtig sind. Ergebnis:
NAV Datentyp SQL Datentyp
Text VARCHAR (NAV2009)
OemText NVARCHAR (NAV2013)

Und das selbe für Code Fields.