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: 14 Tabs

Die Importdatei besteht aus 14 Tabellenblättern, die in einer definierten Reihenfolge und Abhängigkeitsstruktur verarbeitet werden:

Nr.TabBeschreibung
01SprachenVerfügbare Inhaltssprachen
02AttributgruppenLogische Gruppierung von Attributen
03EinheitengruppenGruppen physikalischer Einheiten
04EinheitenEinzelne Masseinheiten mit Umrechnungsfaktoren
05AttributeAttributdefinitionen (19 Spalten)
06HierarchienMaster- und Ausgabehierarchien mit bis zu 6 Ebenen
07WertelistenVordefinierte Auswahlwerte für Attribute
08ProdukteStammdaten der Produkte (SKU, Name, Typ, Status)
09ProduktwerteAttributwerte je Produkt, Sprache und Wiederholung
10VariantenProduktvarianten mit Zuordnung zum Elternprodukt
11VariantenwerteAttributwerte der Varianten
12MedienMedienzuordnungen zu Produkten
13PreisePreisinformationen mit Währung und Gültigkeit
14RelationenBeziehungen zwischen Produkten

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