Beispiel: Konvertieren einer TRADACOMS-Rechnung in XML

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Datenquellen und -ziele >  EDI  > TRADACOMS >

Beispiel: Konvertieren einer TRADACOMS-Rechnung in XML

Dieses Beispiel bietet eine Anleitung, wie Sie ein Mapping-Design erstellen, das Daten aus einer TRADACOMS-Rechnung in ein XML-Format konvertiert. Die in diesem Beispiel erstellte Mapping-Design-Datei steht auch unter den folgenden Pfad zur Verfügung: <Dokumente>\Altova\MapForce2019\MapForceExamples\TRADACOMS_Invoice.mfd.

mfdTRADACOMS_Invoice

TRADACOMS_Invoice.mfd

Das Mapping soll die folgenden Schritte durchführen:

 

1.Konvertieren einer TRADACOMS-Quelldatei (INVFIL.edi) in eine XML-Datei, die anhand eines vorhandenen Schemas (Order.xsd) validiert wird. Die TRADACOMS-Quelldatei und die Schema-Datei (Order.xsd) stehen beide im Ordner MapForce Examples (<Dokumente>\Altova\MapForce2019\MapForceExamples\) zur Verfügung.
2.Die Daten in der TRADACOMS-Datei haben das Format decimal und müssen daher für die XML-Zieldatei in das Format xs:dateTime konvertiert werden.
3.Für jeden Zeileneintrag in der Bestellung muss der Umsatzsteuerbetrag als Dezimalwert, gerundet auf drei Nachkommastellen (Tausendstel), berechnet werden. Für dieses Beispiel nehmen wir an, dass für die Berechnung der Umsatzsteuer die folgende Formel verwendet wird:

 

Tax = round(LEXC * VATP * 10) * 0.001

 

round rundet den Wert auf die nächste Ganzzahl auf bzw. ab.

 

Gehen Sie beim Mapping folgendermaßen vor:

 

1.Fügen Sie die Quell- und Zielkomponente zum Mapping-Bereich hinzu und ziehen Sie Verbindungslinien zwischen den beiden Komponenten.
2.Verwenden Sie Datumsfunktionen, um das Datum in das gewünschte Format zu konvertieren.
3.Verwenden Sie Math-Funktionen, um den Wert für die Umsatzsteuer zu berechnen.

 

Schritt 1: Hinzufügen der Komponenten zum Mapping-Bereich

So fügen Sie die TRADACOMS-Komponente hinzu:

 

1.Klicken Sie im Menü Einfügen auf EDI.
2.Wählen Sie im TRADACOMS-Collection-Ordner unter Nachrichtentypen den Eintrag INVOICE FILE aus.

dlg_edi_tradacoms

3.Wenn Sie aufgefordert werden, eine Beispieldatei anzugeben, navigieren Sie zur Datei INVFIL.edi im Ordner MapForce Examples: (<Dokumente>\Altova\MapForce2019\MapForceExamples\).
4.Wenn Sie aufgefordert werden, die Komponenteneinstellungen zu definieren, belassen Sie die Standardwerte unverändert und klicken Sie auf OK.

 

So fügen Sie die XML-Zielkomponente hinzu:

 

1.Klicken Sie im Menü Einfügen auf XML-Schema/Datei.
2.Wenn Sie aufgefordert werden, eine Beispieldatei anzugeben, klicken Sie auf Überspringen. (Da es sich um eine Zielkomponente handelt, wird die Datei generiert, daher muss keine vorhandene Beispieldatei angegeben werden.)
3.Wenn Sie aufgefordert werden, ein Root-Element auszuwählen, wählen Sie "Order".

 

Die Daten werden in diesem Beispiel folgendermaßen von der TRADACOMS-Quelldatei auf die XML-Zieldatei gemappt:

 

Quelle (TRADACOMS)

Ziel (XML)

INVN

/Order/Header/Number

IVDT*

/Order/Header/Received

CIDN-2

/Order/Customer/Number

CADD-1

/Order/Customer/ContactName

CNAM

/Order/Customer/CompanyName

CADD-2

/Order/Customer/Address/Street

CADD-3

/Order/Customer/Address/City

CADD-5

/Order/Customer/Address/ZIP

CADD-4

/Order/Customer/Address/State

Group_IRF**

/Order/LineItems

Group_ILD**

/Order/LineItems/LineItem

SPRO-1

/Order/LineItems/LineItem/Article/Number

TDES-1

/Order/LineItems/LineItem/Article/Name

AUCT-1

/Order/LineItems/LineItem/Article/SinglePrice

QTYI-1

/Order/LineItems/LineItem/Article/Amount

LEXC

/Order/LineItems/LineItem/Article/Price

LEXC*, VATP*

/Order/LineItems/LineItem/Article/Tax

 

* Die Quelldaten werden vor dem Schreiben in die Zielkomponente mit Hilfe von Funktionen verarbeitet

** Diese Felder gestatten die Iteration durch eine Gruppe von Feldern desselben Typs

 

Anhand der obigen Tabelle können Sie nun von der Quellkomponente Mapping-Verbindungen von allen oben aufgelisteten Einträgen zu Einträgen in der Zielkomponente ziehen. Lassen Sie vorerst diejenigen Felder, für die Werte berechnet werden müssen (d.h. diejenigen, die in der Tabelle mit * gekennzeichnet sind) aus; diese werden später in den nächsten Schritten behandelt. Allgemeine Informationen zum Erstellen von Verbindungen in MapForce, finden Sie unter Arbeiten mit Verbindungen.

 

Tipp:Um in der MapForce-Komponente nach einem Feld zu suchen, drücken Sie Strg + F und geben Sie den Namen des gesuchten Felds ein.

 

Schritt 2: Hinzufügen der Funktionen zur Konvertierung des Datums

Um den Wert des Datenelements IVDT von einem Dezimalwert in den Typ xs:dateTime zu konvertieren, wird im Mapping die Funktion format-number aus der core | conversion functions-Bibliothek verwendet. Ein Beispiel dazu finden Sie unter Beibehalten vorangestellter Nullen bei der Konvertierung.

 

Die Aufgabe der zweiten Funktion, parse-date, ist, den von der format-number-Funktion zurückgegebenen YYMMDD-String-Wert in den Typ xs:dateTime zu konvertieren. Die Funktion hat zwei Input-Argumente: (a) den zu formatierenden Wert und (b) die Formatmaske. Anhand der Formatmaske liest MapForce das Jahr, Monat und Datum als zwei Zeichen für jeden dieser Bestandteile.

 

Um die Funktionen oberhalb des Mappings einzufügen, ziehen Sie diese aus dem Fenster "Bibliotheken" in den Mapping-Bereich. Um ein Argument für eine Funktion zu definieren, fügen Sie eine Konstante ein (Menübefehl Einfügen | Konstante). Allgemeine Informationen zum Arbeiten mit Funktionen in MapForce finden Sie unter Arbeiten mit Funktionen.

 

Schritt 3: Hinzufügen der Funktionen zur Berechnung der Umsatzsteuer

Zur Berechnung der Umsatzsteuer entsprechend der Formel werden die Funktionen multiply und round aus der Bibliothek core | math functions verwendet. Die multiply-Funktion kann erweitert werden (d.h. kann beliebig viele Argumente erhalten). In diesem Beispiel erhält die Funktion LEXC, VATP und die Ganzzahl 10 als Argumente. Die ersten beiden Werte werden von der TRADACOMS-Quellkomponente aus verbunden, während die Ganzzahl von einer Konstante geliefert wird. Das Ergebnis der multiply-Funktion wird anschließend mit Hilfe der round-Funktion auf die nächste Ganzzahl gerundet. Das Ergebnis der round-Funktion wird schließlich mit Hilfe der zweiten multiply-Funktion mit 0,001 multipliziert. Dieses Ergebnis wird anschließend mit dem gewünschten Datenelement der XML-Zielkomponente verbunden. (/Order/LineItems/LineItem/Article/Tax).

 

Eine Vorschau der Ausgabe des Mapping-Designs sehen Sie, wenn Sie im unteren Bereich des Mapping-Fensters auf das Register Ausgabe klicken.

 

Schritt 4 (optional): Darstellen der Mapping-Ausgabe mit Hilfe von StyleVision

Sie können die XML-Zielkomponente optional mit einer StyleVision Power StyleSheet (.sps)-Datei verknüpfen. (Nähere Informationen zu StyleVision finden Sie unter https://www.altova.com/de/stylevision.html.) Dadurch können Sie die Mapping-Ausgabe im HTML-, RTF-, PDF- oder 2007+-Format darstellen (Voraussetzung ist, dass StyleVision installiert ist und die für die einzelnen Formate erforderlichen Voraussetzungen gegeben sind, siehe Darstellen der Mapping-Ausgabe mit StyleVision). Um diesen optionalen Verarbeitungsschritt zu definieren, doppelklicken Sie auf die Überschrift der XML-Komponente und navigieren Sie neben dem Eintrag "StyleVision Power StyleSheet-Datei", zur Datei Order.sps im MapForce Examples-Ordner. Im Mapping-Bereich können Sie nun auf die Register HTML, PDF, RTF und Word 2007+ klicken, um die Mapping-Ausgabe im entsprechenden Format zu sehen.


© 2019 Altova GmbH