Microsoft Dynamics NAV

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Microsoft Dynamics NAV
Entwickler Microsoft Corporation
Aktuelle Version Dynamics NAV 2013 R2
(07.10.2013)
Betriebssystem Windows
Kategorie ERP, Unternehmenssoftware
Lizenz Proprietär
Deutschsprachig ja
Dynamics NAV

Microsoft Dynamics NAV ist eine Standardsoftware für ERP-Systeme. 2002 übernahm Microsoft den dänischen Hersteller Navision Software A/S und integrierte ihn in seinen Geschäftsbereich Microsoft Business Solutions. Seitdem wird Microsoft Dynamics NAV schrittweise mit den anderen ERP-Lösungen von Microsoft zusammengeführt. Die aktuelle Version aus dem Jahr 2012 trägt daher nicht mehr den damaligen Namen Navision, sondern heißt jetzt Microsoft Dynamics NAV.

Microsoft Dynamics NAV wird besonders von kleinen und mittleren Unternehmen eingesetzt und durch entsprechende Microsoft-Partner im Bereich Business Solutions vertrieben. Diese passen die Standardsoftware an die jeweiligen Unternehmensprozesse an. Die Anpassungen werden in der produktspezifischen Programmiersprache C/AL realisiert. Für verschiedene Branchen existiert eine Vielzahl von Branchenlösungen, die oft von Microsoft-Partnern entwickelt werden.

Geschichte[Bearbeiten]

Navision wurde ursprünglich von Navision Software A/S, einem dänischen Unternehmen, entwickelt. Die Softwarelösung verbreitete sich vor allem in Europa, wo es von Navision Solution Centern (NSCs) vertrieben wurde. Die Schwerpunkte lagen in Dänemark und Deutschland. Die Software verfügte über eine eigene satzorientierte proprietäre Datenbank, die speziell auf die Bedürfnisse der ERP-Software zugeschnitten war.

Navision hatte mit Microsoft lange Zeit kooperiert, bevor es 2002 von Microsoft übernommen wurde. Microsoft wollte sich damit auf dem Markt für ERP-Systeme positionieren. Die derzeit aktuelle Version, die im Oktober 2013 erschien, ist Microsoft Dynamics NAV 2013 R2. Frühere Produktversionen hießen Microsoft Dynamics NAV 2013, NAV 2009 R2, NAV 2009 SP1, NAV 2009, NAV 5.0 SP1, NAV 5.0, Microsoft Navision 4.0 SP3, 4.0 SP2, Microsoft Business Solutions Navision 4.0 SP1, 4.0, 3.70, Navision Attain 3.60, 3.10, 3.01, 3.0, Navision Solution 3.0, Navision Financials 2.65, 2.60, 2.50, 2.01, 2.0, 1.3, 1.2, 1.0 und unter einer zeichenorientieren Benutzungsoberfläche gab es NAVISION 1.00 bis NAVISION 3.56a, welche auch als „Blaue Version“ bezeichnet wurde.

Zeittafel[Bearbeiten]

  • 1983: Erik Damgaard und Preben Damgaard gründen Damgaard Data und bringen in Dänemark eine Finanzbuchhaltung „Danmax“ für den IBM-PC unter PC-DOS auf den Markt.
  • 1984: Jesper Balser, Torben Wind und Peter Bang gründen PC & C und bringen in Dänemark eine Finanzbuchhaltung „PCPLUS” für den IBM-PC unter PC-DOS auf den Markt.
  • 1987: PC&C bringt das Nachfolgesystem Navigator in Client/Server-Architektur als 16-Bit-Software auf den Markt.
  • 1990: Lars Damsgaard Andersen, Jesper Bowman und Per Grønfeldt gründen die PC&C Vertriebs GmbH mit Sitz in Hamburg.
  • 1993: Damgaard Data bringen Concorde XAL auf den Markt.
  • 1994: IBM übernimmt 50 % der Anteile an Damgaard Data Development.
  • 1996: PC&C benennt sich in Navision Software A/S um und bringt in enger Zusammenarbeit mit Microsoft die erste ERP-Software „Navision Financials” unter Windows 95 als 32-Bit-Software mit proprietärer Datenbank auf den Markt. Die Zusammenarbeit mit IBM endet damit.
  • 1997: Damgaard stellt AXAPTA in einer Beta-Version mit dem Codenamen „Atlanta” vor.
  • 1998: Damgaard Data kauft die IBM-Anteile zurück.
  • 1998: Concorde Software GmbH mit Sitz in Böblingen benennt sich um in Damgaard GmbH.
  • 1998: Damgaard bringt AXAPTA auf den Markt.
  • 2000: Pressemitteilung: Die dänischen Softwarehäuser Navision Software und Damgaard haben ihre Fusion bekannt gegeben. Als „NavisionDamgaard” wollen sie ihre ERP-Produkte für den Mittelstand künftig gemeinsam entwickeln und vertreiben. Navision kauft Damgaard per Aktientausch im Verhältnis eins zu eins. Mit Jesper Balser und Preben Damgaard wird das Unternehmen zwei Chefs haben.
  • 2001: Pressemitteilung: Der kürzlich mit dem Konkurrenten Damgaard zu NavisionDamgaard fusionierte dänische Standardsoftware-Anbieter Navision hat sich dazu entschieden, den Namen Damgaard verschwinden zu lassen. Folglich heißt die Company nur noch Navision A/S; die bisherigen Produkte „Damgaard Axapta“ und „Damgaard XAL” werden in „Navision Axapta” und „Navision XAL” umbenannt.
  • 2001: Pressemitteilung: „Damgaard XAL” (zuvor „Concorde XAL”) soll gepflegt werden, größere Investitionen in die Weiterentwicklung sind hier jedoch nicht zu erwarten.
  • 2002: Microsoft übernimmt Navision A/S. Das am 7. Mai unterbreitete Kaufangebot sei erfolgreich abgeschlossen, der Konzern werde die Navision-Anteile für rund 1,45 Milliarden Euro übernehmen.
  • 2002: Microsoft Business Solutions wird nach eigenen Angaben Entwicklung, Vermarktung und Support der Navision-Anwendungen „nahtlos fortführen”. Diese werden unter den Bezeichnungen „Microsoft Navision Axapta”, „Microsoft Navision Attain”, „Microsoft Navision C5” sowie „Microsoft Navision XAL” in das Portfolio integriert.
  • 2003: Microsoft kündigt an: Unterstützung und Verbesserung der Lösungen Microsoft Business Solutions–Axapta und Microsoft Business Solutions–Navision® bis mindestens 2012. (Die Vorgängersysteme Navision C5 und XAL werden nicht erwähnt.) Entwicklung einer einzigen umfassenden Businesslösung auf Basis der Microsoft .NET-Plattform. Verfügbarkeit dieser Lösung ab 2008.
  • 2008: Änderung der Produktnamen: aus Microsoft Business Solutions-Axapta wird Microsoft Dynamics AX [1], aus Microsoft Business Solutions-Navision wird Microsoft Dynamics NAV.[2] Beide Systeme werden weiterentwickelt, ob es eine Zusammenführung in eine einzige Applikation gibt, ist derzeit nicht festgelegt.

Versionshistorie[Bearbeiten]

Version Datum
1.0 11/1995
1.1 06/1996
1.2 04/1997
1.3 11/1997
2.0 08/1998
2.01 07/1999
2.5 12/1999
2.6 10/2000
3.01 09/2001
3.10 05/2002
3.60 09/2002
3.70 07/2003
3.70A 03/2004
3.70B 08/2005
4.0 08/2005
5.0 03/2007
5.0 SP1 04/2008
2009 12/2008
2009 SP1 09/2009
2009 R2 12/2010
2013 09/2012
2013 R2 10/2013

C/AL[Bearbeiten]

C/AL (C/SIDE Application Language) ist eine interne Programmiersprache für Microsoft Dynamics NAV auf Basis der C/SIDE-Entwicklungsumgebung. C/AL ist ereignisgesteuert, aber nicht objektorientiert. C/AL zählt zu den Programmiersprachen der 4. Generation. C/AL ist syntaktisch mit Turbo Pascal verwandt, hat allerdings nicht eine so strenge Typisierung wie Pascal.

Praktisch der gesamte Funktionsumfang von Microsoft Dynamics NAV ist in C/AL programmiert und für die Solution-Center zugänglich. Somit kann NAV an die Bedürfnisse und Wünsche der Kunden angepasst werden.

Der Zugang zu C/AL kann optional in einer Entwickler-Lizenz erworben werden. Programmierer erhalten dadurch die Möglichkeit, die Anwendung an ihre spezifischen Anforderungen anzupassen. Die Anwendungsobjekte können durch eine binäre oder textbasierte Import-/Exportfunktion einfach portiert werden.

C/SIDE[Bearbeiten]

Unter C/SIDE (Client/Server Integrated Development Environment) versteht man zum einen die Microsoft Navision eigene Entwicklungsumgebung, welche sich in wesentlichen Teilen auf das interne Datenbankmodell stützt als auch die von Navision selbst verwendete proprietäre Datenbank.

Bis etwa Navision 3.60 wurde diese Datenbank als Basis für Installationen empfohlen. Diese ist auch bis Dynamics NAV 2009 R2 bei Verwendung des bisherigen „Classic Clients“ weiter verwendbar, jedoch wird für neuere Installationen vermehrt der Microsoft SQL Server empfohlen, nur dieser unterstützt wahlweise auch den neuen rollenbasierten Client. Nachteil der oftmals auch als „Native Datenbank“ oder neuerdings als „Microsoft Dynamics NAV Classic Server” bezeichneten Navision-eigenen Datenbank ist, dass diese nicht oder nur eingeschränkt mit SQL-Befehlen angesprochen werden kann, sowie die eingeschränkten Sicherungs- bzw. Wiederherstellungsmöglichkeiten im Vergleich zum Microsoft SQL Server. Mit anderen Datenbank-Servern, etwa Oracle Database, ist Navision nicht kompatibel.

Die Navision Datenbank zeichnet sich durch hohe Stabilität, Transaktionssicherheit, Trigger und durch hohe Geschwindigkeit bei der Bildung von Summen aus. Genau diese Funktionalität wird gerade in Buchhaltungssystemen sehr oft benötigt (Summenbilden auf Konten, bzw. innerhalb von Zeiträumen).

SIFT Technologie[Bearbeiten]

Prinzip: Abweichung von klassischen Prinzipien der Datenbankstruktur[Bearbeiten]

Durch einen kleinen Trick wird erreicht, dass durch lediglich drei Datenbankzugriffe (richtigerweise durch Zugriffe auf einen speziellen Index) Summen aus beliebig großen Datenmengen gebildet werden können. Ein Zugriff auf die Einzelwerte zur Summenbildung ist somit nicht erforderlich.

Diese Technik ist unter dem geschützten Namen SIFT (SumIndex Field Technology oder SumIndexed Flow Technology) direkt innerhalb der Datenbank implementiert. In sogenannten FlowFields werden die berechneten Summen angezeigt. FlowFilter dienen zur Einschränkung der in den FlowFields angegebenen Werte auf bestimmte vorgegebene Kriterien.

Bei SIFT werden mit dem Feldindex auch die aufsummierten Werte mitgespeichert. Durch Subtraktion des höchsten Summenindexwertes von dem Summenindexwert des dem niedrigsten Datensatz vorhergehenden Wertes wird die Summe der Werte zwischen beiden Werten ermittelt.

Beispiel[Bearbeiten]

Eine Tabelle enthalte chronologisch sortiert folgende Werte:

Datum Betrag SumIndex
2006-01-10 50 50
2006-02-01 100 150 (= 50 + 100)
2006-06-01 50 200 (= 150 + 50)
2006-12-12 200 400 (= 200 + 200)
2006-12-30 40 440 (= 400 + 40)

Beim Einfügen eines Datensatzes wird der zugehörige SumIndex-Wert (wie in der letzten Spalte der Tabelle ersichtlich) durch einfache Addition des Betrages mit dem vorhergehenden SumIndex-Werte ermittelt.

Zur Berechnung der Summe aller Werte von 2006-06-01 bis 2006-12-30 geht man wie folgt vor:

  • man bestimmt den Wert von SumIndex des letzten Records im Bereich (2006-12-30): 440
  • man sucht den niedrigsten Datensatz im gewählten Bereich: 2006-06-01
  • man bestimmt den Wert von SumIndex des vorhergehenden Datensatzes (2006-02-01): 150
  • die Differenz der SumIndex-Werte ist gleich die Summe aller dazwischenliegenden Werte: 440 − 150 = 290

Dieses Verfahren funktioniert auch mit einer beliebig großen Anzahl von Werten zwischen den beiden gesuchten Größen.

Objekte[Bearbeiten]

Die Funktionalität von Microsoft Dynamics NAV basiert auf Objekten, die in der Datenbank selbst abgelegt sind. Microsoft Dynamics NAV besteht aus den Objekttypen Table, Page, Report, Codeunit, XMLPort, MenuSuite und Query. Die Objekttypen XMLPort und MenuSuite sind seit der Version 4 von Microsoft Dynamics NAV enthalten, das Objekt Page seit Version 2009 und das Objekt Query seit Version 2013, in der die in älteren Versionen vorhandenen Objekte Form und Dataport entfernt wurden. Die Objekttypen TableData und System sind anwendungsinterne Objekttypen, die von Entwicklern, die die übrigen Objekttypen anpassen oder auch neu erstellen können, nicht verändert werden können.

  • Das Table-Objekt repräsentiert die Definition der Tabelle an sich, also z. B. Feldnamen und Datentypen der Felder, wobei das TableData-Objekt repräsentativ für die tatsächlichen Daten existiert.
  • Das Form-Objekt dient üblicherweise zur Darstellung der Tabellendaten. Über die Formulare können Datensätze angelegt, angezeigt, modifiziert oder gelöscht werden. Man spricht bei Formularen, die mit einer Tabelle verknüpft sind, von gebundenen Formularen, wogegen Formulare ohne Verknüpfung mit einer Tabelle als ungebundene Formulare bezeichnet werden. Ungebundene Formulare existieren seit der Version 4 in der Standarddatenbank nicht mehr. In älteren Versionen wurde mit ungebundenen Formularen das Hauptmenü dargestellt, das mit der Version 4 durch das MenuSuite-Objekt abgelöst wurde. In NAV 2013 ist dieser Objekttyp nicht mehr enthalten.
  • Das Page-Objekt dient im RTC (Role-Tailored-Client), welcher mit Version 2009 eingeführt wurde, der Darstellung von Tabellendaten, Abfragen und Menüs. Die in Pages und anderen Objekttypen enthaltene Geschäftslogik wird, im Gegensatz zu Forms, wo der Classic Client für die Verarbeitung zuständig ist, auf der Middle-Tier ausgeführt. Sie können in allen Clienttypen (Windowsclient, Webclient, SharePoint-Client) gleichermaßen genutzt und dargestellt werden. Pages sind designtechnisch an die neueren Office Produkte (Version 2007 und neuer) und Windows 7 angepasst. Das grundsätzliche Rendering-Schema wird dabei durch den Pagetyp (u.a. Card (Karte), List (Übersicht), Role Center (Rollencenter), Worksheet (Buchungsblatt), Confirmation Dialog (Bestätigungsfenster), Navigate Page) vorgegeben. Es kann dann durch Verändern weiterer Properties (Eigenschaften) im Rahmen der Möglichkeiten des Renderingverfahrens (die bei allen Clienttypen identisch sind, der Client kann zur Laufzeit nicht ermittelt werden) angepasst werden. Im Gegensatz zu Forms kann hier aber nicht mehr pixelgenau frei designt werden und die Variabilität des Layouts auf Kartendarstellungen ist gegenüber diesen merklich eingeschränkt.
  • Die Report-Objekte dienen zum Ausdruck der Tabellendaten auf einem Drucker oder als Stapelverarbeitungen ohne Ausdruck auf Papier (sog. ProcessingOnly-Reports). Mit Reports werden z. B. Lagerbestandslisten oder Verkaufsrechnungen ausgedruckt.
  • Codeunits sind „Container“ für Funktionen und Programmcode.
  • Dataport-Objekte werden für den Import und Export von Tabellendaten im „Plain Text“-Format verwendet. In NAV 2013 ist dieser Objekttyp nicht mehr enthalten, die Funktionalität wurde in die XMLPorts integriert.
  • XMLPort-Objekte werden wie Dataports für den In- und Export von Daten verwendet, allerdings sind diese speziell dafür ausgelegt Daten im XML-Format zu strukturieren. In NAV 2013 wurden zusätzlich die ehemaligen Dataportfunktionen integriert.
  • MenuSuite-Objekte werden für den Aufbau der sog. „Navigation Pane” benötigt, die mit der Version 4 eingeführt wurde und dem Navigationsbereich in Outlook ähnelt. Die Navigation Pane hat das in älteren Versionen verwendete Hauptmenü ersetzt, das aus mehreren ungebundenen Formularen bestand. Es wird dazu verwendet, um sich durch die Anwendung zu bewegen.
  • Query-Objekte (ab NAV 2013) dienen dem Erstellen von Datenbankabfragen, die innerhalb der anderen Objekte für den Lesezugriff genutzt werden können. Diese sollen mittelfristig die bisher in C/AL auscodierten Lesezugriffe weitgehend ersetzen, da diese im Zusammenspiel mit dem SQL-Server eine bessere Performance ermöglichen.

Table-, Form-, Page-, Report-, Codeunit-, Dataport- und XMLPort-Objekte enthalten Trigger, in denen Programmcode hinterlegt werden kann.

Trigger[Bearbeiten]

In der C/SIDE Umgebung kann ein Programmcode in vorhandenen Triggern hinterlegt werden. Wird in einem Objekt eine Funktion erstellt, entsteht ein neuer „Funktions-Trigger”, der den Namen der Funktion trägt. In neuen Funktionstriggern wird dann der Programmcode hinterlegt, der bei Aufruf der Funktion ausgeführt wird. Ebenfalls existieren aber auch vordefinierte Trigger, die als Codecontainer dienen und ausgelöst werden wenn durch den Benutzer aber auch durch Programmcode z.B. Veränderungen an den Datensätzen vollzogen werden.

Ausblick[Bearbeiten]

Die im Oktober 2013 aktuelle Version von Navision ist Dynamics NAV 2013 R2.

Der Support von NAV (Navision) wurde Anfang 2008 nach offiziellen Angaben von Microsoft [3] auf 10 Jahre erweitert: 5 Jahre Mainstream Support und 5 Jahre Extended Support. Der Support beginnt mit der Version NAV 5.0.

Im ersten Quartal 2008 erschien eine Lösung für kleine Unternehmen und Kleinstunternehmen. Diese Lösung erhielt den Namen Microsoft Dynamics Entrepreneur Solution 2008 und basierte auf Dynamics NAV 5.0. Microsoft hat die Weiterentwicklung von Entrepreneur jedoch eingestellt, um sein Marketing strategisch auf NAV 2009 konzentrieren zu können. (Verkündet per Brief und Mail an MS Partner sowie auf dem 2008er Microsoft Dynamics ERP Launch in Fürstenfeldbruck, 8./9. September 2008)

Dynamics NAV 2009 erhielt als erstes NAV-Release statt der bisherigen Versionsnummer (in fortlaufender interner Versionierung: 6) die bei Microsoft-Software übliche Jahreszahl. Diese Version bot erstmals:

  • Die Auswahlmöglichkeit zwischen dem neuen rollenbasierten Client („Role Tailored Client“) und dem bekannten Client, der nun als „Classic Client” bezeichnet wird.
  • Optionale Drei-Schichten-Architektur statt der bisherigen Zwei-Schichten-Architektur.
  • Änderungen der Benutzeroberfläche, z. B. neues Form-Design, Grafiken (Infoparts), Icons (Papierstapel), Action Panel, „Breadcrumb Bar”, Command Bar.
  • Programmierung erfolgt weiterhin in C/AL, der Quelltext wird aber intern nach C# portiert und eine DLL erstellt.
  • Ab der Version NAV 2009 wird für den rollenbasierten Client Microsoft SQL Server 2005 (oder höher) vorausgesetzt, bei Verwendung des bisherigen Clients kann weiterhin der proprietäre "Dynamics NAV Database Server" eingesetzt werden, der aber technisch nicht mehr weiterentwickelt wird.

Ab der Version NAV 2013 (in interner Versionierung: 7) werden ältere Technologien wie der Classic Client, der proprietäre "native" Server, NAS (Navision Application Server), C/FRONT, Forms, Dataports und herkömmliche Reportobjekte nicht mehr angeboten bzw. unterstützt. NAV 2013 war die erste Version, die für Unicode und für drei Clienttypen konzipiert war, einen Windowsclient (bisher bekannt als RTC (Role Tailored Client)), sowie einen neuen ebenfalls rollenbasierten Webclient (kompatibel mit Internet Explorer, Firefox, Chrome und Safari) und einen neuen SharePoint-Client. NAV 2013 R2 kann innerbetrieblich, bei externen Providern oder per Cloud-Computing gehostet werden. Als neuer Objekttyp steht ab NAV 2013 Query zur Verfügung, mit dem Leseoperationen in der Datenbank performanter umgesetzt werden können. Für den Datenaustausch wird erstmals Open Data Protocol (OData) unterstützt (in NAV 2013 beschränkt auf Lesezugriffe, ab NAV 2013 R2 sind auch Schreiboperationen in die Datenbank möglich). Als Entwicklungsumgebungen werden Funktionalitäten des ehemaligen Classic Client und von Microsoft Visual Studio genutzt, als Programmiersprachen kommen dabei sowohl Visual Basic für Berichte als auch C# für optionale Add-Ins zusammen mit der proprietären Sprache C/AL zum Einsatz. Um Add-ins auch beim Einsatz des Webclients nutzbar zu machen, werden hierbei ab NAV 2013 R2 sowohl JavaScript als auch HTML5 unterstützt.

Literatur[Bearbeiten]

  • Andreas Luszczak, Robert Singer, Michaela Gayer: Microsoft Dynamics NAV 2013 – Grundlagen. Microsoft Press Deutschland 2013, ISBN 978-3866455689.
  • Jürgen Holtstiege, Christoph Köster, Michael Ribbert, Thorsten Ridder: Microsoft Dynamics NAV 2013 – Geschäftsprozesse richtig abbilden. Ein praxisorientierter Compliance-Leitfaden. Microsoft Press Deutschland 2013, ISBN 978-3866455696.

Einzelnachweise[Bearbeiten]

  1. http://www.computerwoche.de/mittelstand/581854/
  2. http://www.computerwoche.de/software/erp/595877/
  3. http://support.microsoft.com/lifecycle/

Weblinks[Bearbeiten]