Bodo's Dynamics NAV und Business Central Blog
Bodo ist ein Dynamics NAV Urgestein. Er programmiert Navision seit DOS Zeiten und hat auch keine Scheu vor .NET und schon gar nicht vor Dynamics 365 oder Azure. Viele Neueinsteiger wurden von ihm in den letzten Jahren zu Entwicklern ausgebildet. In diesem Blog veröffentlichen Bodo und andere Superhelden Interessantes aus der Welt von Dynamics 365 Business Central / Dynamics NAV und Microsoft Azure.Dynamics NAV 2013 – Die Länge der Datentypen Code und Text
Tags: 2013, datentypen, code, text[Update 22. Februar 2013] Danke an alle meine Leser, die mich auf einen bösen Fehler in diesem Blog-Artikel hingewiesen haben: Der Datentyp »Text« verhält sich wie in der MSDN Dokumentation beschrieben, d.h. »Text« kann auch ohne Längenangabe verwendet werden. Nur »Code« braucht weiterhin eine Längenangabe. Ich streue Asche auf mein Haupt und grüße Tino und Sven, die als erste fast zeitgleich mich auf meinen Fehler aufmerksam gemacht haben.
In der MSDN Dokumentation zu NAV 2013 und den Datentypen »Code« und »Text« steht geschrieben,
»You can specify a maximum length in the C/AL Globals or C/AL Locals window when you create the variable, but it is not required.«
Den Hinweis »not required« finde ich einigermaßen verwirrend. Wenn Sie eine neue Variable vom Datentyp »Code« anlegen, wird automatisch die Standardlänge von 10 Zeichen vorgeschlagen. Wenn Sie versuchen, die Längenangabe zu entfernen, bekommen Sie die folgende Fehlermeldung:
Anstatt die Längenangabe zu entfernen, können Sie aber eine Länge von 0 eingeben (das ist in NAV 2009 und älteren Versionen nicht möglich). Dann zeigt der Dialog unter Länge nur ein leeres Feld an:
Nun sieht es so aus als wäre die Angabe der Länge »not required«. Aber es sieht auch nur so aus. Tatsächlich geht NAV 2013 jetzt von einer Länge von 0 aus. Das zeigt folgendes Experiment:
Kompilieren lässt sich der Quellcode. Zum Ausführungszeitpunkt erscheint allerdings diese Fehlermeldung:
Fazit: Auch in NAV 2013 sollten alle Variable vom Typ »Code« mit einer Längenangabe versehen werden.
Hier der Link zur MSDN Dokumentation für den Datentyp »Code« (http://msdn.microsoft.com/en-us/library/dd355278(v=nav.70).aspx) und hier für den Datentyp »Text« (http://msdn.microsoft.com/en-us/library/dd339082(v=nav.70).aspx).