2009 => 2016 Dimensionen

21. Oktober 2016 10:39

Moin,

also ich weiß, dass die Dimensionen in der 2016 komplett anders sind. Da wir nun von 2009 upgrade, ist natürlich die Frage, wie das mit den Dimensionen aussiehrt.
Ich finde leider keine ausreichende Hilfe, worin die Unterschiede liegen, vorallem in der technischen Umsetzung und wie man die Dimensionen anpassen muss.
Ihr müsst mir keine fertige Lösung präsentieren, falls jemand ein (paar) gute Links o.Ä. hat, wäre das schon ausreichend :)
Habe über die Forumssuche zwar einiges zu dem Thema Migration gefunden, aber nirgendswo wurde genauer auf die Dimensionen eingegangen.

Gruß

Re: 2009 => 2016 Dimensionen

21. Oktober 2016 10:47

Moin,

dieses Video bezieht sich auf NAV 2013, ist aber meines Wissens immer noch aktuell und evtl. hilfreich:
https://www.youtube.com/watch?v=PbHt94G5Ej4

Die Grundstruktur der Dimensionen hat sich geändert. In 2009 wurde für jede Kombination eine Tabelle auch mit ansich gleichen Datensatzinhalten immer wieder erweitert. Das führte je nachdem, wie intensiv die Dimensionen verwendet wurden dazu, dass die Performance früher oder später "unter aller Kanone" war, weil eine Dimensionstabelle mit Millionen Einträgen vorhanden war.

Durch die neue Struktur ab NAV 2013 wird immer auf eine bestimmte Kombination verwiesen (Dimension Set ID). Selbst wenn ein und dieselbe Kombination nochmal irgendwo vorkommt, wird also im Hintergrund ein Verweis auf eine vorhandene ID erstellt, oder eine neue angelegt.

Ich hoffe, dass ich Dir damit schon etwas helfen konnte.

Viele Grüße
Christoph

Re: 2009 => 2016 Dimensionen

21. Oktober 2016 11:08

Erläuterungen dazu:
Dynamics NAV 2013 | Dimensions (I)
Dynamics NAV 2013 | Dimensions (II)
Design Overview of Dimension handling in Navision 2016

Anpassen muss man da vorher normalerweise nichts.
Konvertiert wird aus Performancegründen direkt mittels SQL-Batches, daher ist muss sichergestellt sein, dass das ohne Abbrüche durchläuft, siehe hier.

Re: 2009 => 2016 Dimensionen

21. Oktober 2016 15:01

Vielen Dank schon mal, ich verstehe es schon mal besser. Ich schaue mir gerade das Video an, nur kann ich ausschließlich was mit den Folien dort anfangen, da der Erzähler für absolut nicht zu verstehen ist und die Untertitel bei der Aussprache auch zu nichts taugen-
Bisher habe ich folgendes gesammelt und bitte um Verbesserung, wenn ich doch falsch informiert bin:

Code:
Dimensionen 2009 > 2013
Die Strukturänderung erfolgte mit der Version 2013.

2009
o   Für jede Kombination eine Tabelle mit vielen gleichen Datensatzinhalten, immer wieder erweitert statt Vorhandenes zu nutzen
o   Je intensiver Dimensionen genutzt werden, desto mehr leidet die Performance aufgrund unzähliger Einträge in den Tabellen
2013
o   Verweis auf eine bestimmte Kombination > Dimension Set ID
o   Wird nun die selbe Kombination noch an anderer Stelle benötigt, wird auf die vorhanden verwiesen statt eine Tabelle zu erweitern mit an sich gleichen Daten
o   Falls keine passende Kombination vorhanden ist, wird eine neue angelegt

o   Es gibt weniger Dimensionstabellen
o   Konzept der Speicherung & Abfrage
o   Store
   Dimension Value ID field
   Dimension Set ID field
o   Retrieve
   Dimension Set Tree Node table
o   Veränderung des C/AL-Codes

Konvertierung von 2009 zu 2013?
o   Es werden SQL-Batches genutzt, da die Performance viel besser ist als mit normalem C/AL-Code
o   Es dürfen während des Vorgangs keine Abbrüche passieren, da keine Transaktionssicherheit gegeben ist

Re: 2009 => 2016 Dimensionen

21. Oktober 2016 15:06

Ich habe bei der einen Kundendatenbank wo ich bislang eine Migration von NAV 5 / 2009 nach NAV 2013 R2 (ff.) vorgenommen habe die Standardmigrationsjobs von Microsoft genutzt und nix in SQL gemacht. Hat auch funktioniert. Auf jeden Fall gehen dir dabei Millionen Daten "verloren", d. h. Einträge in den Tabellen wo bislang die Dimensionswerte pro Posten oder Beleg(zeile) gespeichert wurde. Stattdessen nur noch wenige Einträge in der neuen Tabelle mit den Dimensionswertkombinationen. M. E. ist dabei nichts zu beachten, das läuft einfach. Du musst nur deine Programmierung überprüfen/anpassen wenn du in eigenen Objekten Dimensionen/Dimensionswerte nutzt.

Re: 2009 => 2016 Dimensionen

21. Oktober 2016 15:15

enh hat geschrieben:habe die Standardmigrationsjobs von Microsoft genutzt und nix in SQL gemacht.

Der SQL-Batch im verlinkten Bild oben ist der Standardmigrationsjob aus dem Upgradetoolkit. Alles andere würde bei großen Datenbanken auch viel zu lange dauern.

Re: 2009 => 2016 Dimensionen

21. Oktober 2016 15:16

enh hat geschrieben:Du musst nur deine Programmierung überprüfen/anpassen wenn du in eigenen Objekten Dimensionen/Dimensionswerte nutzt.


Dies ist bei uns der Fall, hast du eventuell ein Beispiel dafür, wie so eine Anpassung aussieht?

Re: 2009 => 2016 Dimensionen

21. Oktober 2016 15:18

Am besten schaust du dir Standardobjekte an die ähnlich arbeiten, dann kannst du dir das ableiten. So hab ich's auch gemacht.

viewtopic.php?f=66&t=31629&p=120615&
http://www.archerpoint.com/blog/Posts/e ... namics-nav