CC: Schnittstellen-Programmierung

4. März 2015 19:05

Hallo Zusammen.

Ich habe ein Verständnisproblem zu Microsoft Navision 2009.
Ich suche dringend Know-How zu Schnittstellen-Programmierung Navision.

Angenommen meine Firma möchte ein externes Tool, welches mit C# .NET programmiert wurde ins Navision integrieren.
Hierbei sollen die Schnittstellen zwischen Navision 2009 und dem externen Tool verbunden und codiert werden.

Welchen Ansatz aus Navision oder .NET verwende ich, um die Schnittstellen herzustellen? Muss ich die Schnittstellen in Codeunits codieren oder verwende ich WebServices? Was ist hierbei gängige Praxis in der Schnittstellen-Programmierung?

Beste Grüße
Christian

Re: CC: Schnittstellen-Programmierung

4. März 2015 19:38

Hallo,

in deinem eigenen Interesse sollte der Schritt ein Update auf NAV 2013 oder höher sein. Hier hast du wesentlich mehr Möglichkeiten eine Schnittstelle in .Net oder über Webservices ohne große Programmierung zu ermöglichen.

Im CC bleibt die eigentlich nur die Möglichkeit COM-Objekte zu erstellen, und diese über vom NAS gestartete Codeunits einzubinden.

Gruß Fiddi

Re: CC: Schnittstellen-Programmierung

4. März 2015 19:56

Du kannst auch mit 2009 über webservices beliebige externe Anwendungen einbinden. Oder klassisch über COM deinen NAV-Client "erweitern". Es kommt sehr drauf an was du da genau machen willst....machbar ist vieles 8-)

Re: CC: Schnittstellen-Programmierung

4. März 2015 20:13

fiddi hat geschrieben:
in deinem eigenen Interesse sollte der Schritt ein Update auf NAV 2013 oder höher sein.



Welche Möglichkeiten der Schnittstellen-Programmierung gibt es bei NAV2013? Webservice? Geht eine Implementierung einer Schnittstelle über WebService in NAV 2009 nicht auch?

fiddi hat geschrieben:
Im CC bleibt die eigentlich nur die Möglichkeit COM-Objekte zu erstellen, und diese über vom NAS gestartete Codeunits einzubinden.



Lassen sich COM-Objekte im Object-Designer für NAV2009 neu erstellen? Sehen COM Objecte wie Code Units in CSide aus?
Was sind NAS gestartete Codeunits? Wie sieht typischer Code aus?

LG

Re: CC: Schnittstellen-Programmierung

4. März 2015 21:57

Geht eine Implementierung einer Schnittstelle über WebService in NAV 2009 nicht auch?

Du hast natürlich recht. Webservices gibt es auch schon in 2009 allerdings nur als SOAP- Services und nicht als OData.

Allerdings solltest du auch wissen, das NAV2009 nicht mehr offiziell von Microsoft unterstützt wird. (siehe hier)

Lassen sich COM-Objekte im Object-Designer für NAV2009 neu erstellen? Sehen COM Objecte wie Code Units in CSide aus?


Nein, COM-Objekte lassen sich nur in NAV nutzen, nicht erstellen.
COM war vor .NET die API- Schnittstelle von Windows, und wird heute noch von vielen Programmen verwendet. Daher können viele Funktionen der Windows API auch in NAV genutzt werden, aber leider auch mit sehr großen Einschränkunen, was z.B. die Konvertierbarkeit und den Zugriff auf Variablen oder das Exception- Handling ngeht. Daher bleibt oft nur die Möglichkeit in VisualStudio einen Wrapper(Übersetzer) zu schreiben, der die Windows-API kompatibel zu dem macht was NAV als Schnittstelle erwartet.

Gruß Fiddi

Re: CC: Schnittstellen-Programmierung

5. März 2015 16:11

Oder ganz low level und je nach vorhandener Entwicklungslizenz ...

Die Applikation kommuniziert über *.txt oder *.xml files.

Diese werden in zusätzliche Navision Tabellen importiert (Dataport bzw. XMLPort), Daten werden aufbereitet und in Navision Tabellen übernommen.

Über die VALIDATE Befehle wird auch die Geschäftsprozesslogik von Navision ausgeführt.

Der Import kann automatisch mit der Projektwarteschlange oder manuell mit einem Report von einem Anwender ausgeführt werden.