Querverweis auf Datastore mit Bedingung

Hallo,

wir haben Artikel die aktuell als Bundle erstellt werden und auf das bundle_item zeigen um den Bestand zu nutzen. Beide Artikel haben dieselbe EAN. Wenn ich jetzt den Bestand importieren möchte brauche ich die VariantenID des bundle_item. Wie kann ich beim Querverweis dafür sorgen das die Zeilen mit BundleType == bundle ignoriert werden?

Im Anhang ist der aktuelle Querverweis zu sehen.

Eine ähnliche Thematik gab es hier.


Man müsste als im Datastorefeld eine <#if> Bedingung einbauen, so dass das datastore-felder bei BundleType == bundle leer bleibt.

Aber dann würde ja der Querverweis nicht aufgeführt, oder?

Ich möchte aber das die Einträge die BundleType == bundle haben ignoriert werden und mir dann die VariantenID zurückgeliefert wird wo BundleType != bundle ist.

Mal am Beispiel:


Datastore-Feld:

<#if BundleType! == "bundle">Keenberk-PlentyArtikel</#if>



Das sorgt dafür dass der Querverweis ausgeführt wird, wenn bundleType == bundle ist.

Ansonsten wird der Querverweise nicht ausgeführt.


Will man genau das Gegenteil wäre es:


<#if BundleType! != "bundle">Keenberk-PlentyArtikel</#if>


Ansonsten gern mal eine Tabelle mit Beispieldaten hier schicken, wo man das besser sieht, was sie meinen.

Ich habe mal 4 Beispiele aus dem Datastore genommen und die ganzen anderen Spalten die uninteressant sind entfernt. Die liegen in den Zeilen natürlich verteilt. Dazwischen sind auch oft normale Artikel die gar keinen BundleType haben. Damit beide aber gefunden werden und nur das Bundle an sich rausgefiltert wird dachte ich das bundleType != bundle der richtige Ansatz wäre.

Sie schreiben "herausgefiltert".

Evtl. ist das hier ein Missverständnis und sie wollen Zeilen entfernen? Dann wäre der Filter der richtige Step, um entsprechende Zeilen zu entfernen.


Wichtig ist dann auch die Schreibweise der Spaltenname und die Anführungsstriche. Laut ihrer CSV müsste es sein:

BundleType! != "bundle"



Können Sie vielleicht nochmal ihre CSV so ergänzen, wie sie am Ende aussehen soll? also so dass man Quell und Ziel sieht?




Ok, ich stell das nochmal dar.

Im Datastore sind meine ganzen Artikel.
Ich importiere jetzt den Bestand nach Plenty über eine externe CSV. Damit ich das tun kann brauche ich für diese Artikel die VariantenID. Diese hole ich mir über die EAN aus dem Datastore. Da ich aber auf dem bundle_item den Bestand schreiben möchte brauche ich von dem die VariantenID nicht von den bundles selbst (auf bundles kann man ja keine Bestände schreiben in Plenty).
Es gibt natürlich noch Artikel die kein Bundle, sondern ganz normale. Von denen brauche ich die VariantenID natürlich auch.
Daher dachte ich das es doch möglich sein muss über den Querverweis zu sagen:

"Schau in den Datastore, suche nach EAN, überspringe Treffer die BundleType == bundle sind."

Somit kommt man doch zu dem bundle_item und da soll die VariantenID zurückgegeben werden.

Hallo,


du könntest hier dem EAN Identifier im Datastore einen Prefix geben.

Zum Beispiel: b_${EAN} für bundle Zeilen und d_${EAN} für Standard Zeilen.

Bei der Abfrage könntest du das dann entsprechend steuern.


Das ist sicherlich Mehraufwand beim befüllen des Datastore, sollte aber als workaround funktionieren.


Viele Grüße

Stefan

Oh ja Stefan hat Recht. Dass die EAN in identifier2 doppelt vergeben ist, ist ein Problem. Der Identifier für den Querverweis muss eindeutig sein. identifier2 darf zwar Duplikate enthalten, aber für euren Anwendungsfall ist das natürlich hinderlich.


  • Also entweder du markierst dir die bundle-identifier2 irgendwie, so dass sie eindeutig sind (z.B. Stefan Idee mit prefix b_)
  • Oder lässt identifier2 bei bundle leer (ist fraglich ob ein bundle ein EAN eines bundle-items haben sollte... ist vermutlich eher eine Festlegung von euch. falls ihr die EAN an bundles unbedingt braucht könnte man die auch in ein extra Feld schreiben, das nicht identifier ist.
  • oder nimmst evtl. identifier3 (falls noch frei) und füllst die dort nur bei den nicht-bundles (und machst Querverweis mit identifier3. an sich der gleiche Gedanke wie beim vorherigen Punkt)


Sobald man die EAN eindeutig hat, sollte der Querverweis klappen.. Bei den bundles kommt dann "No record found", und diese Zeilen kann man in einem nachfolgenden Filter Step entfernen.

Ok, danke euch :)
Das werde ich mal ausprobieren.

Ich hab das jetzt so gemacht das bei bundles die EAN nicht im identifier2 gespeichert wird.
Das funktioniert jetzt. Allerdings gibt es ja nur drei identifier. So oft kann man sowas dann nicht machen.