Datenaustauschdefinition / Data Exchange Framework

4. Dezember 2024 12:52

Hallo,

ich bin über das Data Exchange Framework (https://learn.microsoft.com/en-us/previ ... -framework) gestolpert.

Kann ich damit auch CSV Dateien nach NAV importieren? Wo ist da der Startpunkt? Incomming Document besteht wohl auf XML Format. Gibt es irgendwo eine Demo für den Import einer CSV Datei mit dem Data Exchange Framework?

VG
Martin

Re: Datenaustauschdefinition / Data Exchange Framework

4. Dezember 2024 16:08

Für CSV wäre der Dateityp "Variabler Text" oder "Fester Text" (statt "XML"). Der Standard müsste schon Beispiele mitbringen (in NAV 2017 sind im CRONUS Mandant Bankimporte für Bank of America und Citibank als Zahlungsexporte drin).

Re: Datenaustauschdefinition / Data Exchange Framework

4. Dezember 2024 17:57

Hallo,

das ist immer eine Frage, wem du das in die Hand drücken willst oder musst, und wie oft du da mit wieviel Daten benutzen musst.

Soll das ein Endanwender benutzen können, um eine Zwischentabelle mit wenig Daten zu füllen, ist das vielleicht OK. Willst du damit evtl. Stammdaten (Artikel, usw.) einlesen bzw. aktualisieren, würde ich ein Programm bauen wollen, das genau das verhindert. Stammdaten sind extrem sensibel und vorsichtig zu einzulesen, insbesondere dann, wenn man damit vorhandene Daten aktualisieren möchte. Dafür muss du sehr viel programmieren. Und dann ist ein spezielles Programm meist erheblich schneller als so etwas allgemeingültiges.

Wenn das kein Endanwender bearbeiten soll/muss, habe ich mir vor Jahren mal einen Import/Export- Report gebaut, der so funktioniert wie die Dataports aus NAV-Classic. In die werden dann die Felder eingelesen und Feldweise zugewiesen oder falls nötig mit Code bearbeitet oder ergänzt. Das dauert für einen Programmierer auch nicht länger als das entwerfen der Datensatzdefinition und hat erheblich weniger beteiligte (fehleranfällige) Komponenten.

Gruß fiddi

Re: Datenaustauschdefinition / Data Exchange Framework

5. Dezember 2024 09:59

Hallo,

das es andere und vielleicht auch bessere Wege gibt, steht außer Frage. Ich bin nur über das Data Exchange Framework gestolpert und versuche es zu verstehen. Mir ist nach wie vor nicht klar, wie ich eine CSV Datei importieren kann, wenn ich die Definitionen dafür unter Datenaustauschdefinitionen vorgenommen habe. Auch die Feldzuordnung ist gemacht.

2024-12-05 08_55_56-DfE-2560 - 10.0.90.80 - Remotedesktopverbindung.png


Was muss gemacht werden, damit eine Datei aus dem Filesystem mit Hilfe dieser Definition importiert wird.

VG
Martin
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von speerwerfer am 5. Dezember 2024 12:39, insgesamt 2-mal geändert.

Re: Datenaustauschdefinition / Data Exchange Framework

5. Dezember 2024 11:58

Kannst nicht einfach unter "Incoming Document" über "Datenaustauscharten" auf deine frei deferierte Datenaustauschdefinition verweisen?
2024-12-05 10_57_27-Neu - Eingehender Beleg - test.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Datenaustauschdefinition / Data Exchange Framework

5. Dezember 2024 12:37

BastianB hat geschrieben:Kannst nicht einfach unter "Incoming Document" über "Datenaustauscharten" auf deine frei deferierte Datenaustauschdefinition verweisen?

Über die Page Incoming Document nicht! Da wird in der Page geprüft, ob es sich um ein XML Dokument handelt.
Wenn ich aber per Code einen Eintrag in der Tabelle Incoming Document mache und dann in meiner "Data Exch. Def" im Feld Read/Write XML Port den XML Port 1220 "Data Exch. Import - CSV" eintrage, kann ich mit der Codunit "IncomingDocwithDataExch.RUN(IncomingDocument)" die CSV einlesen und die Daten landen dann erst mal in der Tabelle 1220/1221.
Damit sie von dort weiter verarbeitet werden und die Daten in der Zieltabelle landen, wie es in der Feldzuordnung definiert wurde, braucht es scheinbar noch eine weitere Zuordnung-Codeunit:
2024-12-05 11_32_48-DfE-2560 - 10.0.90.80 - Remotedesktopverbindung.png

Ich hätte nun damit gerechnet, das es dazu schon eine passende CU gibt, die das erledigt. Ich hab aber noch nix gefunden.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Datenaustauschdefinition / Data Exchange Framework

5. Dezember 2024 13:44

Es gibt auch Zuordnungs-Codeunits...
1204 Map Data Exch. To RapidStart
1214 Map DataExch To Intermediate
1218 Map Incoming Doc to Purch Doc
1224 Map Incoming Doc to Gen. Line
1280 Map Currency Exchange Rate