Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Import aus XML

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

Dieser Befehl 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
Codeblock
languagexml
<?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>

...

Feld

Konfiguration

XPath

ZMATMAS05/IDOC/E1MARAM/MATNR

Datenbankfeld

Artikel ~ SKU

Primärschlüssel

ja

Kollation identifizieren

nein

Primärschlüssel

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

...

Codeblock
languagejs
{
    "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

...

XPath

Datenbankfeld

ZMATMAS05/IDOC/E1MARAM/MATKL

Repository: Publikation
Column: Artikel (= Fremdschlüssel für Artikel: Artikelbezeichnung)

ZMATMAS05/IDOC/E1MARAM/MATKL

Repository: Artikel
Column: Artikelbezeichnung

Um Referenzen auflösen zu können muss in der Konfiguration des Feld-Mapping die Referenz zugeordnet werden.

Beispiel

Codeblock
languagejs
{
    "reference": {
        "repository": "shopArticle",
        "column": "shopArticleName"
    }
}

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

Codeblock
languagejs
{
    "jsonKey": "sku"
}

...

Info

Achtung

Der Bulk-Import ist derzeit nicht möglich, wenn JSON Felder importiert werden.

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

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

Statische Werte

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

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

...