Skip to main content
Skip table of contents

PIM

Es wird das Zusatzmodul “PIM System” benötigt

Die PIM-Schnittstelle ermöglicht den Export von Produktdaten aus dem Multiflex ERP-System in ein externes PIM-System (Product Information Management) und Import von Assets nach Multiflex (Tabelle Bilder).

Die Konfiguration erfolgt im Multilflex Grundlagenmanager und im WpfInterfaces.
Im Multiflex Grundlagenmanager unter dem Punkt “PIM” werden die Basiseinstellungen für die PIM Anbindung getroffen.
Im WpfInterfaces erfolgt die Konfiguration der Schnittstelle.

Multiflex Grundlagenmanager

image-20251103-192301.png

Name

Typ

Werte

PIM-System

DropDown

Multiflex (Default)
Pimcore

Basis URL

String

Angabe der Basis-URL, unter welcher die REST-Services erreichbar sind

API-Key

String

Authentifizierungstoken für die REST-Services des PIM-Systems

Where-Bedingung

String

Angabe einer „where-Bedingung“ – es werden nur jene Artikel an das PIM übertragen, welche dieser Bedingung entsprechen.

Beispiel:
where a.artikelnummer like ‘%-%‘

Wenn PimCore aktiviert wird, wird die Infomeldung „DB Update ausführen“ angezeigt.
Im Anschluss muss dass Multiflex DB Update ausgeführt werden, welches die benötigten Trigger aktiviert.

WpfInterfaces

Hauptfunktionen

  • Profile verwalten: Es können verschiedene Exportprofile angelegt, bearbeitet, dupliziert, gelöscht, importiert und exportiert werden. Ein Profil definiert, welche Daten und Felder exportiert werden.

  • Mappings bearbeiten: Für jedes Profil können die Zuordnungen (Mappings) zwischen ERP-Datenbankfeldern und PIM-Feldern angepasst werden.

  • Export durchführen: Einzelne Artikel oder alle Artikel können exportiert werden. Der Export erfolgt als JSON-Datei oder direkt per Schnittstelle.

  • Statusberichte: Nach jedem Export wird ein Statusbericht erstellt. Bei Fehlern kann eine Benachrichtigung per E-Mail erfolgen.

  • Dateiformate und Pfade: Die Schnittstelle unterstützt die Konfiguration von Dateiformaten (z.B. Datumsformat), UNC-Pfaden und Basis-URLs für die Ablage und den Zugriff auf exportierte Daten.

Bedienung

  1. Profil auswählen oder anlegen:
    Wählen Sie ein bestehendes Exportprofil aus oder legen Sie ein neues Profil an. Profile können auch aus einer Datei importiert oder als Datei exportiert werden.

  2. Mappings konfigurieren:
    Passen Sie die Feldzuordnungen an, um festzulegen, welche ERP-Daten in das PIM-System übertragen werden.

  3. Export starten:

    1. Einzelartikel: Geben Sie die Artikelnummer ein und starten Sie den Export.

    2. Gesamtexport: Starten Sie den Export für alle Artikel.

    3. Der Export kann automatisch beim Start der Schnittstelle erfolgen (Autostart).

      XML
      <Pim>
        <!-- ===================== -->
        <!-- Database Configuration -->
        <!-- ===================== -->
        <DB>DB</DB> <!-- Example: ML, PROD, TEST -->
        <USER>SYSADM</USER> <!-- Database user -->
        <PASSWORD>SYSADM</PASSWORD> <!-- Database password -->
      
        <!-- ===================== -->
        <!-- General Settings -->
        <!-- ===================== -->
        <Loglevel>Detail</Loglevel> <!-- Options: None | Error | Info | Detail -->
        <MaxParallelism>4</MaxParallelism> <!-- Number of concurrent tasks -->
        <BatchSize>100</BatchSize> <!-- Number of records processed per batch -->
        <ProfileInx>1</ProfileInx> <!-- Profile ID / configuration index -->
        <DateTimeFormat>dd.MM.yyyy HH:mm:ss</DateTimeFormat> <!-- Date/time formatting -->
        <BaseUncPath>\\SERVER\Share\PIM</BaseUncPath> <!-- UNC path to shared directory (optional) -->
        <BaseUrl>https://example.com/pim</BaseUrl> <!-- Base URL for web-based resources (optional) -->
      
        <!-- ===================== -->
        <!-- Mail / Notification Settings -->
        <!-- ===================== -->
        <ProtocolEMail>your.name@example.com</ProtocolEMail> <!-- Recipient for protocol or logs -->
        <SenderEMail>noreply@example.com</SenderEMail> <!-- Sender email for notifications -->
        <SmtpServer>smtp.example.com</SmtpServer> <!-- SMTP server address -->
        <SmtpUser>noreply@example.com</SmtpUser> <!-- SMTP username -->
        <SmtpPassword>your-secure-password</SmtpPassword> <!-- SMTP password -->
        <MailLevel>All</MailLevel> <!-- Options: None | Error | Info | All -->
      </Pim>
      
  4. Status und Fehler prüfen:
    Nach dem Export erhalten Sie einen Statusbericht. Bei Fehlern werden diese angezeigt und können per E-Mail versendet werden.

  5. Profile und Mappings verwalten:
    Sie können Profile und Mappings jederzeit bearbeiten, duplizieren, löschen oder sichern.

Profile

image-20251103-142335.png

Im WpfInterfaces Pim Interface UI können mehrere Profile konfiguriert werden.

Mappings

Hier wird der Aufbau des zu generierenden JSONs angegeben. Dabei wird ein Array an JSON-Objekten generiert. Für jeden noch nicht exportierten Artikel aus der PIM_UPDATE Tabelle wird ein Eintrag in diesem JSON-Array erstellt. Dabei wird zwischen Tabellen und Profilierungskriterien unterschieden.

Tabellen

Tabelle

Verknüpfung

Zusätzliche Spalten anderer Tabellen

ARTIKELBILDER

LAENDERKENNZEICHEN

ARTIKELSTAMM

LANGTEXTE (Typ 2 und Typ 3)

ARTIKELSTAMM_TEXTE

ARTIKELTEXT

LAENDERKENNZEICHEN

ARA_ERA

FOLGEARTIKEL

KATALOGE

PIM_UPDATE

VORSCHLAGSARTIKEL

Artikelbezogene Vorschlagsartikel + Sortimentsbezogene Vorschlagsartikel + Bundlebezogene Vorschlagsartikel

ZUSATZTEXTE

LAENDERKENNZEICHEN

Profilierungskriterien

Für Profilierungskriterien kann pro Kriterium ein eigenes Mapping angelegt werden. Dabei sind neben den Spalten aus der Tabelle ART_PROFKRIT auch die Spalten aus FR_WERTE verfügbar.

Mappings

image-20251103-142535.png
JSON Path (pro Table Mapping)

Für jeden Mappingseintrag kann ein kann ein JSON Pfad hinterlegt werden. Gibt es diesen Pfad bereits, wird dieser erweitert, andernfalls wird ein neues JSON-Objekt in diesem Pfad angelegt.

Handelt es sich bei der Tabelle um eine 1:N Beziehung (mehrere Einträge pro Artikel) wird für jeden Eintrag eine eigenes JSON-Objekt angelegt und es wird an Stelle eines JSON-Objekts ein JSON-Array in diesem Pfad erstellt.

Ist der JSON Path leer, werden die Felder direkt ins Root Element dieses Artikels generiert.

Wenn es notwendig ist, dass ein Array generiert wird, obwohl nur ein Eintrag vorhanden ist, kann auch durch eine Kennzeichnung mit eckigen Klammern (Bsp “attributes[]”) ein JSON-Array erzwungen werden.

Filter

Es ist auch möglich, ein bereits bestehendes JSON-Object eines Arrays zu erweitern. Dazu kann eine Filterbedingung im Pfad angegeben werden.

image-20251103-152517.png

In den eckigen Klammern kann ein Feld der JSON-Objekte aus dem Array und eine Spalte angegeben werden. Um auch konvertierte Werte richtig zu vergleichen, kann ein Konverter angegeben werden, der auf die Spalte angewendet wird, bevor der Vergleich durchgeführt wird.

In den Eckigen Klammern ist es auch möglich, eine “_” anzugeben. Bsp: “assets[_]”. Dadurch werden diese Änderungen auf alle Elemente im JSON-Array angewendet. ACHTUNG: das Array muss hierbei aber das letzte Pfad Element sein.

Column Mappings

Für jedes Column Mapping ist es verpflichtend, dass ein Feld angegeben wird, in welches der Wert aus der Spalte geschrieben wird. Null Werte werden nicht geschrieben.

Hier kann entweder eine Spalte angegeben werden, oder eine Konstante. Eine Konstante ist ein statischer Wert, der in ein Feld geschrieben werden kann.

Es kann auch ein mehrstufige JSON Pfad angegeben werden, um eine verschachtelte Struktur zu ermöglichen.

Zusätzlich kann ein Konverter angegeben. Dieser ermöglicht die Veränderung von Werten, bevor diese ins JSON Feld geschrieben werden

Batch

Über BatchSize und MaxParallelism kann kontrolliert werden, wie viel gleichzeitig geladen und übertragen wird.

Parameter

Default

Beschreibung

BatchSize

100

Wie viele Artikel pro Thread selektiert, in ein JSON konvertiert und übertragen werden.

MaxParallelism

10

Anzahl der Threads, die gleichzeitig arbeiten können.

Converter

DownloadUnc

Nur anwendbar auf Felder der Tabelle “BILDER”. Bei diesem Converter ist die angegebene Column nicht relevant.

Bei Verwendung des Converters wird das Bild an den in den Einstellungen angegebenen UNC-Pfad kopiert und der Pfad dann durch die angegebene Download URL ersetzt. Die Download URL muss also eine vom Zielsystem erreichbare Adresse sein und auf den Pfad zeigen, der im UNC-Pfad angegeben ist.

PimAssetType

Nur anwendbar auf Felder der Tabelle “BILDER”. Bei diesem Converter ist die angegebene Column nicht relevant.

In der Tabelle “PIM_ASSETTYPE_CONVERTER” können Regeln angegeben werden.

Spalte

Datentyp

Länge

Beschreibung

PATTERN

Varchar

100

Muster, welches für den Abgleich verwendet wird

MATCHING_TYPE

Smallint

Es sind folgende unterschiedliche Arten von Abgleichen verfügbar:

  • ExactMatch = 1

  • Contains = 2

  • StartsWith = 3

  • EndsWith = 4

  • Regex = 5

TARGET_ASSET_TYPE

Varchar

100

Wert der in das angegebene Feld geschrieben wird

Combeenation Service

Wenn im Combeenation Service ein ProfileInx eines PimInterface Profils angegeben wird und in den Grundlagen eine Pim Schnittstelle ausgewählt ist, dann wird bei der Anlage eines Artikels durch Combeenation Service eine direkte Übertragung mit diesem Profil an das PIM durchgeführt.

In der Konfiguration des Combeenation Service müssen folgende Einträge ergänzt werden:

Parameter

Beschreibung

pimprofileinx

Profile Inx, welches verwendet werden soll (steht beim Profil im WpfInterface dabei)

pimdatetimeformat

wahrscheinlich "dd.MM.yyyy HH:mm:ss"

pimuncpath

Pfad, wo die generierten Files im Filesystem abgelegt werden sollen.

pimdownloadurl

URL, die auf den unter pimuncpath definierten UNC Pfad verweist.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.