Das Data Exchange Framework verstehen Teil 2


Im zweiten Teil soll es darum gehen Daten aus einer CSV Datei in ein Buchblatt zu importieren. Allgemeine Erklärungen zum Data Exchange Framework finden sich in Teil 1. Wie Sie im ersten Teil gesehen haben gibt es direkt einen Menüpunkt in der Bankkontenabstimmung und auch im Zahlungsabstimmungs Buch.-Blatt für den Import von Daten. Das Format wird an der Bank hinterlegt.

Eine ähnliche Option gibt es auch für die Buchblätter, allerdings ist diese standardmäßig ausgeblendet weil keine vordefinierten Importe mitgeliefert werden. Um diese sichtbar zu machen sind ein paar Handgriffe notwendig.

Zuerst können Sie über die Finanzbuchhaltung Einrichtung das Inforegister “Lohntransaktionsimport” hinzufügen. Dies geht am besten über Anpassen / Diese Seite Anpassen. Dann hinzufügen und ganz wichtig auch noch das Inforegister selbst anpassen und das Feld hinzufügen. Dort wird nach der Definition das Format hinterlegt.

2015-08-05_10-23-25

Im Fibu Buch.-Blatt gibt es eine Action “Lohntransaktionen importieren” die auch im Standard nicht sichtbar ist. Auch diese können Sie über Menüband anpassen hinzufügen.

Als Beispiel für den Import soll folgende CSV Datei dienen. Sie können wieder einfach die Zeilen hier in eine Textdatei kopieren und entweder mit der Endung .txt oder .csv speichern.

10.07.2015;Document1;-400;0280;VERW;MERCEDES
10.07.2015;Document1;400;1005;;MERCEDES
12.07.2015;Document2;-200,10;4930;VERW;TOYOTA
12.07.2015;Document2;200,10;1005;VERW;MERCEDES
13.07.2015;Document3;-111;4500;;
13.07.2015;Document3;-222;4580;PROD;MERCEDES
13.07.2015;Document3;333;1005;VERW;MERCEDES

Es sind 6 Spalten in der Datei (Datum, Belegnummer, Betrag, Kontonummer, Kostenstelle, Kostenträger). Wie der Name vermuten lässt, ist der Import für Lohndaten gedacht und konzentriert sich auf Sachkonten. Benötigen Sie andere Kontenarten, vielleicht noch eine Bank, dann ist ein Import über die Bankkontenabstimmung oder das Zahlungsabstimmungs Buch.-Blatt besser geeignet. Sie können dort ja nicht nur in eine Tabelle einlesen, sondern gleichzeitig auch Zeilen im Buchblatt erzeugen lassen, indem mehrere Buchungsaustauschzuorndungen angelegt werden.

Wenn wir nun eine neue Buchungsaustauschdefinition anlegen, ist es wichtig bei “Art” Lohnimport zu hinterlegen. Nur Buchungsaustauschdefinitionen mit dem Typ Lohnimport können in der Finanzbuchhaltung Einrichtung hinterlegt werden. Als Dateityp nehmen wir in diesem Beispiel Variabler Text und wichtig ist dann noch das Spaltentrennzeichen “;”. Kopfzeilen sind nicht vorhanden und von all den möglichen Codeunits und XML Ports benötigen wir lediglich den XML Port 1220 wie der Name “Buchungsaustauschimport – CSV” auch vermuten lässt.

In den Buchungszeilendefinitionen geben Sie an, das 6 Spalten in der Datei sind und Sie können die Definition der Spalten aus dem unten angegebenen Screenshot ablesen.

2015-08-05_11-52-44

Die Länge muss nicht hinterlegt werden, weil wir variable Feldlänge verwenden. Die Namen können Sie natürlich frei wählen, wir werden jetzt im nächsten Schritt die Feldzuordnung treffen. Also im Abschnitt Buchungszeilendefinition wählen Sie Feldzuordnung und legen Sie eine neue an. Tabellen-ID ist die 81, was den Fibu-Buchblatt-Zeilen entspricht.

2015-08-05_12-49-38

Den Multiplikator müssen wir in diesem Fall nicht setzen, weil die Beträge schon richtig formatiert in der Datei stehen. Bei den Dimensionen habe ich den Haken “Optional” gesetzt, denn diese sind nicht immer vorhanden.  Das ist alles, was notwendig ist, um die Datei einzulesen. Denken Sie daran, das Format noch in der Finanzbuchhaltungseinrichtung zuzuweisen. Nach dem Import sieht das Buchblatt wie folgt aus:

2015-08-05_12-52-40

Ich habe hier in das Standard Buchblatt importiert. Wichtig ist, daran zu denken, dass wir in unserer Datei kein Gegenkonto haben und dass die Buchungssätze als Splittbuchungen angegeben sind. Wir haben also kein Mapping für das Gegenkonto. Wähle ich jetzt z.B. ein Buchblatt aus, welches ein Gegenkonto im Buchblattnamen hat, so wird dies den Buchungen hinzugefügt, genauso wie wenn ich manuell eine Buchung erfassen würde. Das kann ein gewünschter Effekt sein, wenn z.B. alles über ein Transferkonto gebucht werden soll oder eine Fehlerquelle.

Zum Lohndatenimport und allgemein zur Data Exchange Framework gab es im allgemeinen Blog auch schon einen Artikel, dieser erschien direkt nach Erscheinen der Funktionalität – bezieht sich also auf die Version Dynamics NAV 2013 R2, Cumulative Update 1. Die Screenshots in diesem Artikel stammen aus der Version Dynamics NAV 2015.

Mit freundlichem Gruß

Andreas Günther

Microsoft Dynamics Germany

Comments (2)

  1. R. Greif sagt:

    Guten Tag Herr Günther,

    Vielen Dank für die ausführliche Anleitung. Wir haben dies so umgesetzt, allerding beim Lohntransaktionsimports folgendes Problem: Wir würden gerne eingehende Kostenstellen auf Dimensionen umschlüsseln und dachten, dass wir das über die Mappingcodeunit machen könnten. Allerdings wird unsere eigens erstellte CU, die wir im Feld eingetragen haben, nicht aufgerufen. So ähnlich, wie sie es auch in Teil 1 mit der Mapping Codeunit machen. Wäre es möglich, dass dies für den Lohnimport nicht verfügbar ist?

    Vielen Dank für ihre Rückmeldung
    MfG
    R. Greif

    1. Hallo Herr Greif,

      ich habe mir den Code angeschaut und für Lohndatenimport sieht es so aus, als würde das Mapping über Codeunit 1201 gesteuert. Möglicherweise wird keine extra mapping codeunit aufgerufen, weil fest davon ausgegangen wird, dass in eine Buchblattzeile eingelesen wird, somit das Ziel bekannt ist.

      Wenn ich Zeit finde probiere ich es auch noch einmal aus und ergänze dies im Artikel.

      Mit freundlichem Gruß
      Frohes Fest
      und guten Rutsch

      Andreas Günther

Skip to main content