Skip to content

Import

Das Import-Modul des anyPIM ermöglicht die Massenübernahme von Produktdaten über standardisierte Excel-Dateien. Es richtet sich an Produktmanager und Data Stewards, die grosse Datenmengen effizient in das System einpflegen möchten -- ohne technische API-Kenntnisse.

Konzept

Der Import folgt dem Prinzip "Validierung vor Ausführung": Daten werden niemals direkt in die Datenbank geschrieben, ohne zuvor vollständig geprüft worden zu sein. Dadurch wird sichergestellt, dass fehlerhafte Datensätze keine inkonsistenten Zustände verursachen.

Dreiphasiger Importprozess

Der Import durchläuft drei klar getrennte Phasen:

Phase 1: UploadExcel-Datei hochladen14-Tab-Vorlage mitStamm- und ProduktdatenDatei wird gespeichertTabs werden erkanntPhase 2: ValidierungDatenprüfungSchema, Referenzen,Abhängigkeiten, DuplikateFehler + VorschlägeVorschau (Diff-Ansicht)Phase 3: AusführungDaten schreibenUpsert-Logik: Anlegenoder AktualisierenTransaktionsgesichertErgebnisbericht

Phase 1: Upload

Der Benutzer lädt eine Excel-Datei über die Import-Oberfläche hoch. Das System erkennt automatisch die enthaltenen Tabellenblätter (Tabs) und ordnet sie den internen Datentypen zu. Die Datei wird serverseitig gespeichert und steht für die Validierung bereit.

Phase 2: Validierung

In der Validierungsphase prüft das System jeden Datensatz auf:

  • Schema-Konformität -- Pflichtfelder, Datentypen, gültige Enum-Werte
  • Referenzauflösung -- Technische Namen werden in UUIDs aufgelöst
  • Abhängigkeiten -- Referenzierte Entitäten müssen existieren (in der Datei oder im System)
  • Duplikaterkennung -- Bereits vorhandene Datensätze werden für Upsert markiert
  • Fuzzy Matching -- Tippfehler in Referenzen werden erkannt und Korrekturvorschläge angezeigt

Das Ergebnis ist ein detaillierter Validierungsbericht mit Fehlern, Warnungen und einer Vorschau der geplanten Änderungen (Diff-Ansicht: Anlegen, Aktualisieren, Überspringen).

Phase 3: Ausführung

Erst nach erfolgreicher Validierung und expliziter Bestätigung durch den Benutzer werden die Daten in die Datenbank geschrieben. Die Ausführung erfolgt transaktionsgesichert -- entweder werden alle Datensätze eines Tabs erfolgreich verarbeitet oder der gesamte Tab wird zurückgerollt. Nach Abschluss erhält der Benutzer einen Ergebnisbericht.

Excel-Vorlage: Tabellenblätter

Die Importdatei besteht aus Tabellenblättern, die in einer definierten Reihenfolge und Abhängigkeitsstruktur verarbeitet werden. Die Blätter sind nummeriert benannt:

TabBeschreibung
01_ProdukttypenProdukttypen
02_AttributgruppenLogische Gruppierung von Attributen
03_EinheitenMaßeinheiten
04_WertelistenVordefinierte Auswahlwerte für Attribute
05_AttributeAttributdefinitionen
06_HierarchienMaster- und Ausgabehierarchien
07_Hierarchie_AttributeAttributzuordnungen je Hierarchieknoten
08_ProdukteStammdaten der Produkte (SKU, Name, Typ, Status)
09_ProduktwerteAttributwerte je Produkt, Sprache und Wiederholung
10_VariantenProduktvarianten mit Zuordnung zum Elternprodukt
11_Produkt_HierarchienZuordnung von Produkten zu Hierarchieknoten
12_ProduktbeziehungenBeziehungen zwischen Produkten
13_PreisePreisinformationen
14_MedienMedienzuordnungen zu Produkten
15_Attribut_SichtenAttribut-Sichten
16_PreistypenPreistypen
17_BeziehungstypenBeziehungstypen

Hinweis

Nicht alle Tabs müssen befüllt sein. Sie können gezielt nur die Tabs verwenden, die für Ihren Import relevant sind. Abhängigkeiten werden sowohl innerhalb der Datei als auch gegen den bestehenden Datenbestand aufgelöst.

Upsert-Logik

Der Import arbeitet nach dem Upsert-Prinzip (Update or Insert):

  • Neuer Datensatz: Wird angelegt, wenn kein Datensatz mit dem gleichen Identifikator (z. B. technischer Name, SKU) existiert.
  • Bestehender Datensatz: Wird aktualisiert, wenn bereits ein Datensatz mit demselben Identifikator vorhanden ist. Dabei werden nur die in der Importdatei enthaltenen Felder überschrieben.

Dieses Verhalten ermöglicht sowohl initiale Datenübernahmen als auch inkrementelle Aktualisierungen mit derselben Importdatei.

Smart Matching

Das System nutzt intelligentes Matching, um Tippfehler in Referenzen automatisch zu erkennen:

  • Levenshtein-Distanz mit einem Schwellwert von 85 %
  • Case-Insensitive Vergleich
  • Whitespace-Trimming vor dem Vergleich

Wird ein ähnlicher, aber nicht exakt übereinstimmender Wert gefunden, zeigt das System einen Korrekturvorschlag in der Validierungsvorschau an.

BMEcat-Import

Neben dem Excel-Import unterstützt das anyPIM den Import von Produktdaten im BMEcat-Format (Versionen 1.2 und 2005). BMEcat ist ein standardisiertes XML-Format für den elektronischen Austausch von Produktkatalogen, das vor allem im B2B-Bereich weit verbreitet ist.

Unterstützte BMEcat-Versionen

VersionStandardBeschreibung
BMEcat 1.2KlassischWeit verbreitet, besonders im deutschsprachigen Raum
BMEcat 2005AktuellErweiterte Struktur mit zusätzlichen Elementen

Import-Modi

Der BMEcat-Import unterstützt zwei Modi:

ModusBeschreibung
UpdateBestehende Daten werden aktualisiert, neue Datensätze angelegt (Upsert)
Delete & InsertAlle vorhandenen Daten der betroffenen Entitäten werden gelöscht und neu importiert

Importierte Daten

Folgende BMEcat-Elemente werden verarbeitet:

  • Produkttypen und Produktstammdaten (PRODUCT)
  • Attribute aus FEATURE/FNAME-Elementen
  • Preise aus PRODUCT_PRICE_DETAILS
  • Hierarchien aus CATALOG_GROUP_SYSTEM
  • Hierarchie-Attributzuordnungen
  • Produkt-Hierarchie-Zuordnungen (PRODUCT_TO_CATALOGGROUP_MAP)
  • Produktbeziehungen (PRODUCT_REFERENCE)
  • Medienreferenzen (MIME_INFO)

Validierung

Der BMEcat-Import bietet einen Validierungsmodus, der die XML-Datei prüft, ohne Daten zu importieren:

POST /api/v1/bmecat-import/validate

Die Validierung erkennt fehlende Pflichtfelder, ungültige Referenzen und Strukturfehler im XML.

Technische Details

  • Streaming-Verarbeitung -- Die XML-Datei wird mit XMLReader geparst, um auch große Dateien speichereffizient verarbeiten zu können.
  • Transaktionssicherheit -- Der Import erfolgt transaktionsgesichert.

Weiterführende Dokumentation

  • Excel-Format -- Detaillierte Spaltendokumentation aller 14 Tabs
  • Validierung -- Validierungsregeln, Fehlermeldungen und Vorschau-Ansicht

anyPIM Dokumentation