Oft will man Daten von z.B. Lieferanten mit seinem eigenen Artikelstamm abgleichen und nur die neuen Artikel erkennen. 


Bezogen auf die Grafik bedeutet das, dass man die Artikel auf der linken Seite herausfinden will (Delta). 


Der Ablauf ist wie folgt:

Man braucht dafür:

  • am besten 2 Flows
  • und einen Datastore

Flow 1 (Vorbereitung)

  • importiert ihren Artikelstamm in einen Datastore
  • wichtig: in identifier2 des Datastore sollten man den Abgleichs-Identifier speichern, den auch der Lieferant schickt z.B. EAN
  • diesen Flow braucht man nur ausführen wenn es neue Artikel in ihrem Artikelstamm gibt, damit der Datastore immer aktuell ist 

Flow 2 (das ist der entscheidende Flow)

  • Flow holt ihre Lieferantendatei und verarbeitet diese
  • dort braucht man einen SpreadsheetMapper Step
  • im SpreadsheetMapper machen sie z.B. in der EAN- oder in einer Hilfsspalte einen Querverweis auf ean zu identifier2 und folder des Datastores, in dem sich ihr Artikelstamm befindet.
  • wenn der Lieferant nun eine EAN schickt, die noch nicht in ihrem Datastore in identifier2 existiert, dann liefert der Querverweis ein "No Record found"



Folder beachten


 

Sollten Sie ein "No Record found" erhalten, obwohl der identifier2 im Datastore existiert, dann prüfen Sie, ob sie auch den Folder korrekt gesetzt haben und dass die Datensätze in einem Folderim Datastore liegen, der nicht "default" ist. Das Feld Folder im Querverweis kann nur dann leer gelassen werden, wenn der Folder "default" ist. Ansonsten müssen sie hier auch den entsprechenden Folder angeben, in dem der Datensatz zu finden ist. Sie können hier einen festen Wert eintragen oder über Freemarker eine Spalte der Quelldatei definieren z.B. ${Marke!} -> (analog wie ${EAN!} im identifier).



Neue Produkte erkennen

Nun schaltet man hinter den SpreadsheetMapper einen SpreadsheetFilter Step mit folgender Filter-Bedingung: 

 

ean! == "No Record found"



 D.h. der Filter lässt nur Zeilen durch, in denen in der Querverweis-Spalte "No Record found" steht. 

Das sind dann neue Produkte.

Jetzt kann man mit diesem Ergebnis weiterarbeiten und z.B. diese neuen Artikel in ihren Shop importieren.  

Wenn man die Filter-Bedingung umkehrt (ean! != "No Record found") dann bekommt man die existierenden Artikel.
ean! == "No Record found" --> das sind neue Artikel, die es im Datastore noch nicht gibt.
ean! != "No Record found" --> das sind existierende Artikel, zu denen es im Datastore schon einen Eintrag gibt.