Hi zusammen,
ich ermittle einen String aus Semikolon-getrennten CategoryIDs in dieser Art:
<#if (isSale == "1")>
<#if (isSale20 == '1')>
818;819
<#elseif (isSale50 == '1')>
817;819
<#elseif (isSale80 == '1')>
817;818
<#else>
817;818;819
</#if>
;197
<#elseif (isNew == "1")>
196;817;818;819
<#else>
196;817;818;819;197
</#if>
Auf dem ganzen läuft dann die Text-Funktion „Trimmen und Zeilenumbrüche entfernen“.
Da kommt dann ein String raus, z.B. 196;817;818;819;197
Im selben Feld des Mappers habe ich dann unten bei Skript dieses hinterlegt:
<#assign remove_cats><#list value?split(";") as cat><#if AllCategoryIDs?split(";")?seq_contains(cat)>${cat};</#if></#list></#assign>${remove_cats?remove_ending(";")}
Das prüft welche der Kategorien bereits in AllCategoryIDs
vorhanden sind, und gibt nur deren IDs wieder.
Das klappt nun plötzlich nicht mehr, der Ergebnis ist leer. Im Beispiel ist AllCategoryIDs
= 129;149;196;500;1255;1438;1439;1656;3049;3409
, es sollte also die 196
ausgegeben werden.
Wenn ich im ersten Script alle Zeilenumbrüche und Leerzeichen am Zeilenanfang entferne, klappt es plötzlich wieder. Aber es ging doch die ganze Zeit auch anders?
Wenn ich mein Script entferne, aber die Text-Funktion belasse, sehe ich im Ergebis auch keine führenden Leerzeichen. Wie gewünscht.
Was ist da los?
Im konkreten Fall entferne ich jetzt mal die Zeilenumbrüche. Aber wenn da was zerbrochen ist, gibts potentiell dutzende Stellen in vielen Flows, die ich prüfen müsste.
Danke Daniel
PS: Post auf die Schnelle hingeschmiert, muss jetzt AFK. Ich prüfe nachher noch mal im Detail. Aber Zeilenumbrüche im Wert-Feld manuell entfernen, scheint das Problem gelöst zu haben