Hallo,
ich habe ein Projekt, für dass ich per RestAPI die Artikel aus Plentymarkets holen muss.
Der Kunde hat viele Eigenschaften, von denen ich einen Teil gerne weiter verarbeiten würde.
Leider verwendet er auch Texteigenschaften z.B. um individuelle Texte für Martkplätze zu hinterlegen.
Sobald ein solcher Artikel in der Datei enthalten ist kann ich leider nicht mehr mit der Funktion KeyValueSplitToColumn arbeiten.
E-4 KeyValueMapSplitToColumns: Ein Parameter ist falsch oder ungültig: Map-Key is limited to 255 characters… (Root Causes: IllegalArgumentException: Map-Key is limited to 255 characters.)
So ein richtiger Artikeltext hat nunmal durchaus mehr Zeichen.
Gibt es eine Möglichkeit zu bestellen, dass HTML-Eigenschaften nicht mit exportiert werden ?
Oder habt ihr eine andere Idee, wie ich bei solchen Artikeln die Eigenschaften auseinander bastel ?
Gruß
Heinke
Hallo Heinke,
glaube, der Fehler und das Limit von 255 Zeichen bezieht sich auf den Key und nicht die Value. Da hat sich irgendwo ein extrem langer Schlüssel eingeschlichen, den müsstest du vorab kürzen.
Gruß
Gustav
Hallo Gustav,
Danke für die schnelle Antwort, aber das kann nicht das Problem sein. Ich habe mehrere Ausgabefelder zur Auswahl und der Fehler tritt auch auf, wenn ich versuche „VariationPropertyIDs“ zu splitten.
In dem Feld sind die Daten mit der EigenschaftsID als Key enthalten, also so etwa:
3=xy;4=12234;5=„hierkommteinTExtundderistlang“
Gruß
Heinke
Kann es sein, dass in dem Text irgendwo ein Semikolon auftaucht? Das ist ja dein Trennzeichen zwischen den Schlüssel-Werte-Paaren.
Wenn in dem Text ein Semikolon auftaucht, würde der verbleibende Text zwischen dem Semikolon und dem nächsten Gleich-Zeichen als Schlüssel gewertet.
Hallo Gustav,
das könnte tatsächlich das Problem sein. Aber ich kann doch jetzt nicht alle Texte ändern.
Gibt es eine Möglichkeit zu bestellen, dass beim Suchen und ersetzten bestimmte Zeichen nur dann ersetzt werden, wenn Sie vor einer Zahl kommen ? Dann könnte man die ; vor der ID durch | ersetzen und dann am | trennen.
Vor allem werde ich die ; nicht aus den Texten bekommen, da da auch HTML Texte dabei sind, die durchaus mal die ein oder andere Entity enthalten können. Spontan habe ich gefunden.
Gruß
Heinke
Hallo @hostermann,
folgender regulärer Ausdruck sollte jedes ; mit | ersetzen dass von einer beliebigen Zahl und anschließendem = gefolgt ist:
;(?=\d+=)
Das einfach in die Suchen&Ersetzen Funktion setzen und reguläre Ausdrücke aktivieren.

Viele Grüße
Lukas
1 Like