Dynamics Nav Bestellimport

18. November 2008 00:22

Hallo,

leider bin ich ein absoluter Newbie in Sachen Dynamics Nav.

Würde gerne Webshop-Bestellung im XML-Format (oder auch CSV)
mit Dynamics Nav importieren. Aus anderen WaWis (von Sage, Exact etc)
ist dieses auch einfach möglich: Belegimport -> Dateiauswahl -> Import ... Fertig.

Bei MS scheint das möglicherweise nicht so einfach zu sein.

Habe - glaube ich - rausgefunden, daß ich entweder csv Files über Dataport
importieren kann. Leider gibt es keinen standardisierten für Belegimporte
und ich kann aufgrund beschränkter Rechte (keine Partnerlizenz) keinen erstellen.

XML Bestellungen kann man wohl über den XML Port einlesen. Hier gibt es auch einen
Namens "8000" "Purchase Order". Wenn ich jedoch diesen auswähle und dann auf "Run"
klicke, geschieht nichts.

Einen neuen XMLPort könnte ich zwar für die Bestellungen wie in Chapter 21 der
Application Designer’s Guide angegeben anlegen. Wie ich es verstanden habe,
wäre dieser nun über eine zu erstellenden codeunit zu starten, in welcher
dann auch der Dateiname des XML Files anzugeben wäre. Eine CodeUnit darf
ich aber leider auch nicht erstellen.

Fazit: Standardmäßig ist ein Bestellimport nicht so einfach möglich, oder?

Grüße
Robin

Re: Dynamics Nav Bestellimport

18. November 2008 09:13

Hallo mobilize,

ich denke auch in anderen WaWis musst du erst einmal definieren welches Feld aus der CSV-Datei in welchem Feld deiner WaWi landen soll, bevor du nach der Methode "Belegimport -> Dateiauswahl -> Import ... Fertig" Belege einlesen kannst.
In Navision funktioniert das im Prinzip genauso. Man schreibt einen Dataport oder XML-Port+ Codeunit , wie du schon richtig erkannt hast. Damit man in NAV einen Dataport bzw. XML-Port bearbeiten darf, benötigt man zunächst eine Lizenz, mit der man die Objekte bearbeiten darf. Außerdem benötigst du eine Lizenz für den Dataport bzw. XML-Port, d.h. du musst die Lizenz erweitern, damit du den Dataport nutzen kannst. Häufig sind in Kundenlizenzen bereits einige Objekte freigeschaltet, die für Erweiterungen vorgesehen sind. Dieser Bereich beginnt bei jedem Objekttyp(Tabelle,Form,..) üblicherweise bei Objekt-ID 50000. Solltest du hier einen Dataport mit der Kundenlizenz erstellen dürfen, kannst du Ihn auch benutzen.
Leider ist es bei NAV nicht mit dem Zuordnen der Felder getan, man benötigt auch noch das Wissen über das Datenmodell von NAV, bevor man weiß welche Daten in welches Feld gefüllt werden müssen bzw. dürfen.

Gruß, Fiddi

Re: Dynamics Nav Bestellimport

16. Januar 2009 21:51

Hallo,

danke für die Antwort.

Webshop-Bestellung liegen im XML-Format vor und sollen mit Dynamics Nav importiert werden.

Schritt 1:
Diese Datei müsste nun auf Knopfdruck von Dynamics Nav durch einen XMLPort eingelesen werden können
und die Bestellung z.B. als Auftragsbestätigung automatisch angelegt werden.

Schritt 2:
Idealerweise würden wir uns das auch automatisiert vorstellen:
1. Überprüfe, ob Datei Order.xml vorhanden.
2. Wenn vorhanden, Datei einlesen, ansonsten 1,
3. Datei verarbeiten und Auftragsbestätigung in Dyn Nav anlegen.
4. Datei löschen.
5. Gehe zu 1.

Kannst Du grob einschätzen, wie viel Aufwand in Stunden
Schritt 1 und Schritt 2 ergeben würden?

Grüße
Robin

Re: Dynamics Nav Bestellimport

17. Januar 2009 12:04

Hallo mobilze,

Schritt 1 lässt sich nur schwer abschätzen, da ich nicht genau weiß welche Daten vom Shop kommen (neue Kunden die erst in NAV angelegt werden müssen, sind die Informationen aus dem Shop 1:1 umsetzbar in NAV, d.h. Artikelnr.-Shop = Artikelnr. NAV, Kundennummer Shop = Kundennummer NAV, usw., rechnet der Shop genauso wie NAV? Sollen nur Aufträge erstellt werden, oder muss die ganze Logistik angeschoben werden?, müssen Bezahloptionen berücksichtigt werden?)
für diesen Schritt benötigts du in der NAV-Lizenz mindestens eine freie Codeunit. Wenn man die XML-Datei mit einem XML-Port einlesen kann und will (NAV kann auch MSXML nutzen, was manchmal einfacher geht, wenn man es einmal kapiert hat), dann wird auch noch ein freier XML-Port in der Lizenz benötigt.

Schritt 2 ist dagegen recht einfach zu erstellen. Hier benötigt man einen NAS (NAV 4.0 o. höher vorausgesetzt). Das ist ein Dienst, der als Service läuft. Dieser Service funktioniert wie ein NAV Client ohne GUI. Der NAS-Cient schaut dann in regelmäßigen Abständen in das Verzeichnis, und erstellt die Aufträge. Wenn in der NAV-Installation noch kein NAS benutzt wird, benötigst du keine zusätzliche Lizenzerweiterung für NAV, ansonsten muss die NAV-Lizenz um eine NAS-Instanz erweitert werden.

Gruß, Fiddi