PlentyGetVariations mit Eigenschaften, KeyValueSplitToColumn hat Probleme mit Texteigenschaften

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.
image

Viele Grüße
Lukas

1 „Gefällt mir“