- C/SIDE Application Language
-
Microsoft Dynamics NAV Entwickler: Microsoft Corporation Aktuelle Version: Dynamics NAV 2009
(19.11.2008)Betriebssystem: Windows Kategorie: ERP, Unternehmenssoftware Lizenz: Proprietär Deutschsprachig: ja Dynamics NAV Navision ist eine Standardsoftware für ERP-Systeme. 2002 übernahm Microsoft den dänischen Hersteller und integrierte es in seinen Geschäftsbereich Microsoft Business Solutions. Seitdem wird Navision schrittweise mit den anderen ERP-Lösungen von Microsoft zusammengeführt. Die aktuelle Version aus dem Jahr 2008 trägt daher nicht mehr den Namen Navision, sondern heißt jetzt Microsoft Dynamics NAV.
Navision wird besonders von kleinen und/oder mittleren Unternehmen (sogenannte KMU) 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 verschiedenste Branchen existieren eine Vielzahl von Branchenlösungen. Diese sind z. B. für Produktion, Handel, Dienstleistung, Projektabwicklung und -controlling, Öffentliche Verwaltung oder für kirchliche Institutionen vorhanden.
Inhaltsverzeichnis
Geschichte
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 November 2008 erschien, ist Microsoft Dynamics NAV 2009. Frühere Produktversionen hießen Microsoft Dynamics NAV 5.0 SP1, NAV 5.0, Microsoft Navision 4.0 SP3, Microsoft Navision 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
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 PC&C Vertriebs GmbH mit Sitz in Hamburg gegründet. Von Lars Damsgaard Andersen, Jesper Bowman und Per Grønfeldt
1993 Damgaard Data bringen Concorde XAL auf den Markt.
1994 IBM übernimmt 50 % der Anteile an Damgaard Data Development.
1996 PC&C benennt sich um in Navision Software A/S 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 (codename '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
C/AL
C/AL (C/SIDE Application Language) ist eine interne Programmiersprache für Microsoft Navision 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 Navision ist in C/AL programmiert und für die Solution-Centers zugänglich. Somit kann Navision komplett 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
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 Navison 3.60 wurde diese Datenbank als Basis für Installationen empfohlen. Diese funktioniert auch unter Navison 5.x noch, jedoch wird für neuere Installationen vermehrt der Microsoft SQL Server empfohlen. 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 SQL 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
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
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)
Die Summe aller Werte von 2006-06-01 bis 2006-12-31 errechnet sich hier wie folgt
Sumindexwert des letzten Records im Bereich: 440 2006-06-01 ist niedrigster Record im gewählten Bereich, der diesem Record vorhergehende Wert ist 2006-02-01 mit SumIndexWert: 150 440 - 150 = 290 was der Summe aller dazwischenliegenden Werte entspricht.
Dieses Verfahren funktioniert auch mit einer beliebig großen Anzahl von Werten zwischen den beiden gesuchten Größen.
Objekte
Die Funktionalität von Microsoft Dynamics NAV basiert auf Objekten die in der Datenbank selbst abgelegt sind. Microsoft Dynamics NAV besteht aus den Objekttypen TableData, Table, Form, Report, Codeunit, Dataport, XMLPort, MenuSuite und System. Die Objekttypen XMLPort und MenuSuite sind seit der Version 4 von Microsoft Dynamics NAV enthalten. Die Objekttypen TableData und System sind anwendungsinterne Objekttypen die von Entwicklern, die die übrigen Objekttypen anpassen oder 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.
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.
XMLPort-Objekte werden wie Dataports für den Im- und Export von Daten verwendet, allerdings sind diese speziell dafür ausgelegt Daten im XML-Format zu strukturieren.
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.
Table-, Form-, Report-, Codeunit-, Dataport- und XMLPort-Objekte enthalten Trigger, in denen Programmcode hinterlegt werden kann.
Trigger
In der C/SIDE Umgebung kann 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.
Folgende Trigger sind in der Version Microsoft Dynamics NAV 5 enthalten:
Im Table-Objekt:
Documentation() OnInsert() OnModify() OnDelete() OnRename()
Sowie für jedes Tabellenfeld Feldname – OnValidate() und Feldname – OnLookup().
Im Form-Objekt:
Documentation() Form - OnInit() Form - OnOpenForm() Form - OnCloseForm() Form - OnQueryCloseForm() : Boolean Form - OnActivateForm() Form - OnDeactivateForm() Form - OnFindRecord(Which : Text[1024]) : Boolean Form - OnNextRecord(Steps : Integer) : Integer Form - OnAfterGetRecord() Form - OnAfterGetCurrRecord() Form - OnBeforePutRecord() Form - OnNewRecord(BelowxRec : Boolean) Form - OnInsertRecord(BelowxRec : Boolean) : Boolean Form - OnModifyRecord() : Boolean Form - OnDeleteRecord() : Boolean Form - OnTimer() Form - OnCreateHyperlink(VAR URL : Text[1024]) Form - OnHyperlink(URL : Text[1024])
Ein Form enthält sog. „Controls“ z. B. zum Anzeigen von Daten oder Buttons zum Öffnen anderer Objekte oder zum Ausführen von Programmcode. Die Controls enthalten wiederum Trigger. Zum Beispiel:
Ein „Command-Button“ hat folgende Trigger (wobei Control1000000 für den Namen des Controls steht):
<Control1000000> - OnActivate() <Control1000000> - OnDeactivate() <Control1000000> - OnPush()
Eine „TextBox“ hat die folgenden Trigger (wobei Control1000001 wiederum für den Namen des Controls steht):
<Control1000001> - OnActivate() <Control1000001> - OnDeactivate() <Control1000001> - OnFormat(VAR Text : Text[1024];) <Control1000001> - OnBeforeInput() <Control1000001> - OnInputChange() <Control1000001> - OnAfterInput(VAR Text : Text[1024];) <Control1000001> - OnValidate() <Control1000001> - OnAfterValidate() <Control1000001> - OnLookup(VAR Text : Text[1024];) : Boolean <Control1000001> - OnDrillDown() <Control1000001> - OnAssistEdit()
Ausblick
Die derzeit (Dezember 2008) aktuelle Version von Navision ist Dynamics NAV 2009. Parallel zur Weiterentwicklung von Navision entwickelt Microsoft mittel-/langfristig eine Version auf Basis von .NET, die die MBS-Produkte Dynamics NAV, Dynamics AX und Dynamics GP zu einem ERP-System zusammenführen soll. Der Support von NAV (Navision) wurde Anfang 2008 nach offiziellen Angaben von Microsoft (http://support.microsoft.com/lifecycle/) 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 ist eine Lösung für kleine Unternehmen und Kleinstunternehmen erschienen. Diese Lösung erhielt den Namen Microsoft Dynamics Entrepreneur Solution 2008 und basiert auf Dynamics NAV 5.0. Microsoft hat die Weiterentwicklung von Entrepreneur jedoch eingestellt und eine Herausnahme aus dem Sortiment für Ende 2009 angekündigt, 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.09.2008)
Im November 2008 ist Dynamics NAV 2009 erschienen, die als erstes NAV-Release statt der Versionsnummer die bei Microsoft übliche Jahreszahl erhielt. Diese Version bringt:
- Die Auswahlmöglichkeit zwischen dem neuen rollenbasierten 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.
- Für die Version NAV 2009 mit dem neuen rollenbasierten Client wird Microsoft SQL Server 2005 (oder höher) vorausgesetzt, bei Verwendung des „klassischen“ Clients kann weiterhin der Navision Server eingesetzt werden, der aber technisch nicht mehr weiterentwickelt wird.
Weblinks
Wikimedia Foundation.