Mapping Set funktioniert nur mit „Search & Replace“ Mapping Mode

Hallo liebes Synesty Team,

ich habe eine Frage zum Mapping Set im Mapper. Und zwar lese ich aus einer XML Werte ein, die in dieser Form abgebildet werden:

ABCA, KDOZG1010, KDOZG2055, KDOZG1015, KDOZG1020, KDOZG1025, KDOZG2030, KDOZG2035, KDOZG2040, KDOZG2045, KDOZG2050, KDOTH75 usw.

Die Werte gehören zu verschiedenen Produkten und dienen der Zuordnung zu Kategorien. Dafür habe ich ein MapingSet angelegt, welches die Werte in die entsprechenden anderen Values umformulieren soll, die ich für den PoduktImport zu Shopify brauche.

Das Mappingset habe ich wie folgt definiert (verkürzt wiedergegeben):

SHOPKATNAC=Oberkategorie_Deutsche Sprache

SHOPKATSL=Oberkategorie_Schule & Lernen

SHOPKATKIJU=Oberkategorie_Schule & Lernen

SHOPKATJOB=Oberkategorie_Ratgeber

SHOPKATALLG=Oberkategorie_Sachbuch

SHOPKATLIT=Oberkategorie_Unterhaltung

KDOZG1005=Klasse_Vorschule

KDOZG1010=Klasse_1. Klasse

KDOZG1015=Klasse_2. Klasse

KDOZG1020=Klasse_3. Klasse

KDOZG1025=Klasse_4. Klasse

KDOZG1060=Klasse_MSA

KDOZG1070=Klasse_Oberstufe/Abitur

KDOZG2010=Alter_1. Lebensjahr

KDOZG2015=Alter_2. Lebensjahr

KDOZG2020=Alter_3. Lebensjahr

KDOZG2025=Alter_4. Lebensjahr

KDOZG2030=Alter_5. Lebensjahr

Allerdings kommen aus der XML auch Werte in diese Spalte, die ich nicht weiterverarbeiten und einfach ignorieren möchte, weshalb ich den MappingMode „Remove Unmapped Values“ benötige.

Das Mappingset gibt allerdings bei diesem Mode keine Werte aus, beim Mode „Keep Original Values“ nimmt er keinerlei Mapping vor und die Werte bleiben bestehen.

Lediglich das „Search and Replace“ funktioniert, allerdings habe ich dann immer noch die unmapped Values drin.

Liegt der Fehler irgendwie innerhalb des MappingSets, weil die einzelnen Codes wegen Leerzeichen o.Ä. nicht als einzelne Zeilen erkannt werden?

Beste Grüße

Maxim

Sie schreiben dass sie "Remove Unmapped Values benötigen" und dass das Mappingset in diesem Fall keine Werte ausgibt.
Das ist das korrekte Verhalten.

Könnten Sie an einem Beispiel mal darlegen, was das von ihnen erwartete Ergebnis ist?


Bsp.: Mappingmode = Remove unmapped values




Originalwert

Erwartetes Ergebnis

Eingetretenes Ergebnis



KDOZG1010
Klasse_1. Klasse
Klasse_1. Klasse
zuIgnorierenderWertDerNichtImMappingsetSteht

KDOZG2025
Alter_4. Lebensjahr
Alter_4. Lebensjahr


Ergänzung: Wenn manchmal irgendwas vom Mappingset nicht erfasst wird, dann liegt es meistens an Leerzeichen am Anfang oder Ende des Orignalwertes. Diese müssten dann ggf. zuerst mal noch mit ${spalte!?trim} entfernt werden.

Super, es lag am Ende tatsächlich an der Leerzeichen. :)


Danke mal wieder für die Hilfe!