Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 11 Nächste Version anzeigen »

Allgemeine Funktionsweise

Transformatoren ermöglichen die Transformation von oder zu dem normierten XML-Format. Es ist bspw. möglich in eine CSV-Datei zu exportieren, oder aus einer CSV-Datei zu importieren.

Um ein fremdes Datenformat verarbeiten zu können, konfigurieren Sie das jeweilige Im- oder Exportprofil und verknüpfen einen oder mehrere Transformatoren. Dazu bearbeiten Sie das jeweilige Profil und wählen anschließend in der Liste der Kindverknüpfungen Transformatoren

Welche Transformatoren für den Import stehen zur Verfügung?

Import aus XML (xpath2xml)

Beschreibung des Transformators: File-Type: XML to XML using configured database columns

Dieser Transformator kann genutzt werden, um Daten aus einer XML-Datei in mehrdimensionale Datenstrukturen zu importieren. Zu diesem Zweck ist es notwendig die Quell-Datenstruktur über einen sogenannten XPath zu den Tabellen/Feldern in brandbox zuzuordnen. Dazu bearbeiten Sie das jeweilige Importprofil und wählen anschließend in der Liste der Kindverknüpfungen Datenbankfelder

Beispieldatei
<?xml version="1.0" encoding="ISO-8859-1"?>
<ZMATMAS05>
    <IDOC BEGIN="1">
        <EDI_DC40 SEGMENT="1">
            <MANDT>100</MANDT>
            <MSGFN>005</MSGFN>
            <MATNR>000000000000100000</MATNR>
         </EDI_DC40>
    </IDOC>
</ZMATMAS05>

Beispiel-Konfiguration

Die nachfolgende Beispiel-Konfiguration erzeugt für jeden Knoten in der XML-Datei einen Artikel, der die SKU aus dem XML-Knoten MATNR enthält.

FeldKonfiguration
XPathZMATMAS05/IDOC/E1MARAM/MATNR
DatenbankfeldArtikel ~ SKU
Primärschlüsselja
Kollation identifizierennein

Primärschlüssel

Wird das Datenbankfeld als Primärschlüssel verwendet, werden Datensätze anhand dieser Spalte identifiziert und (falls vorhanden) aktualisiert. 

Kollation identifizieren

Wird das Datenbankfeld mit Kollation identifizieren ausgezeichnet, wird eine erweiterte Konfiguration im Import-Profil notwendig. Diese Konfiguration ermöglicht es Daten mehrsprachig zu importieren. Öffnen Sie das Importprofil und pflegen in der Konfiguration bspw. nachfolgende Map. Dabei enthält der Schlüssel der collationMap den Wert aus der XML-Datei, während der Wert das locale (sprache_LAND) enthält.

{
    "collationMap": {
        "D": "de_DE",
        "F": "fr_FR",
        "E": "en_GB"
    }
}

Fremdschlüssel nutzen

 Um Referenzen zwischen unterschiedlichen Tabellen herstellen zu können wird häufig das Feld Auswahl eines Datensatzes in einer fremden Tabelle (Fremdschlüssel) verwendet. Die dort verknüpften Referenzen können wie folgt hergestellt werden:

  • Der Fremdschlüssel-Feld enthält die Information zur verknüpften Tabelle und einer Column. Siehe oben verknüpfte Dokumentation
  • Diese beiden Informationen werden genutzt, um den Datensatz während des Imports zu identifizieren
  • Der Wert auf dem Knoten in XML muss dem Wert aus der Column des referenzierten Repositories entsprechen
  • Zusätzlich muss der gleiche Knoten für das fremde Repository mit dieser Column konfiguriert werden

Beispiel-Konfiguration

XPathDatenbankfeld
ZMATMAS05/IDOC/E1MARAM/MATKLRepository: Publikation
Column: Artikel (= Fremdschlüssel für Artikel: Artikelbezeichnung)
ZMATMAS05/IDOC/E1MARAM/MATKLRepository: Artikel
Column: Artikelbezeichnung

Json-Daten importieren

Daten die in Json-Feldern organisiert sind können importiert werden, benötigen aber eine erweiterte Konfiguration.

  • Das Feld muss vom Doctrine-Type JsonArray sein
  • Es muss der Json-Key angegeben werden 

Beispiel

{
    "jsonKey": "sku"
}

Datum konvertieren

Im XML-Knoten kann ein Datum stehen. Dessen Format kann wie folgt transformiert werden in einen Timestamp. Dabei gilt das folgende Datumsformat: https://www.php.net/manual/en/class.datetime.php

{
    "dateFormat": "d-m-Y H:i:s"
}

Statische Werte

Der XML-Knoten soll einen Wert setzen, der nicht im XML-Knoten vorkommt. 

{
    "staticValue": "Lorem ipsum..."
}

Import aus XML (xslt-php)

Beschreibung des Transformators: PHP XSLT

TBD

Import aus CSV (csv2xml)

Die erste Zeile enthält die Namen der Entity-Felder, alle folgenden Zeilen enthalten die entsprechenden Daten.

"id";"createTime";"changeTime";"presetFlyerNestedHeadline";"presetFlyerNestedText1";"presetFlyerNestedText2";"createTime";"changeTime"
"1";"1575921954";"1575921954";"Headline";"Text 1";"Text 2";"1575921954";"1575921955"

Welche Transformatoren für den Export stehen zur Verfügung?

Export nach CSV (xslt-php)

TBD

Export nach XML (xslt-php)

TBD

  • Keine Stichwörter