Zeichenbeschränkung für MAP-Spaltenschema

Danke euch, das Schema ist wieder sauber, der Flow problemlos durchgelaufen.


Nächster Fall (ich komm mir langsam doof vor, sorry):


image



Abfrage per Filter ob Key vorkommt, falls ja Ausgabe des identifiers und schreiben einer .csv führt zu folgendem Flow-Error:


Fehler beim Anwenden des Filters auf das Spreadsheet. (Root Causes: JsonMappingException: Can not deserialize instance of com.synesty.csvconverter.internal.spreadsheet.SynestyMap out of VALUE_NUMBER_INT token at [Source: java.io.StringReader@60fbbb8; line: 1, column: 1] _TemplateModelException: Java method "com.synesty.csvconverter.internal.spreadsheet.AbstractField.containsKey(String)" threw an exception when invoked on com.synesty.csvconverter.internal.spreadsheet.ColImpl object "547=https://www.werkstatt-king.de/marken/dewalt"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #if (VariationPropertyIDs.containsKey... [in template "RowFilterExpression VariationPropertyIDs.containsKey('515')" at line 1, column 1] ----)

Sorry für den Ärger kurz vorm Wochenende. Kann es sein das in der Spalte ( VariationPropertyIDs ) im Datastore noch Werte im alten MAP (nicht JSON ) Format vorhanden sind ? Evtl. von alten / gelöschten Varianten, die nicht nochmal abgerufen wurden.


Der Gedanke kam mir eben auch, da ich die neue Quelle mit der bestehenden Spalte verknüpft hatte. Und ja, das war der Grund!


Danke euch, schönes Wochenende!


Gruß,

MArc

Hallo zusammen,


ich komme auf das Angebot von Torsten zurück:

Wir haben uns dazu entschieden vorerst nur für die Varianten-Eigenschaften neue Spalten im JSON Format zur Verfügung zu stellen. Solltet ihr Probleme mit anderen MAP Spalten haben, könnt ihr euch gerne bei uns melden. 

Für die alten Artikelmerkmale "ItemProperties" und "ItemPropertiesWithGroups" aus Plenty-Step "PlentyGetVariations" bräuchten wir ebenfalls neue Outputs vom Typ JSON. Wäre das kurzfristig machbar?


Gruß,

Marc


Hallo Marc,


das können wir (wie versprochen) kurzfristig einbauen. Ich denke dass wir es bis spätestens morgen schaffen.


VG Torsten

Hallo Marc,


die beiden Spalten ItemPropertiesJSON & ItemPropertiesWithGroupsJSON sind jetzt vorhanden.


Viele Grüße

Torsten

Ist hier irgendwas im Parsing zerbrochen @synestysupport?
Ich will den Wert der Eigenschaft 150 ermitteln:

  • direkt mit at() funktioniert nicht :x:
  • at() mit parseJSON funktioniert nicht :x:
  • parseJSON mit Array-Zugriff klappt :white_check_mark:

Danke Daniel

Hi Daniel,

Fall 1:

Das sollte funktionieren (habe es auch gerade nochmal getestet). Voraussetzung ist, dass der input des Mappers das Ergebnis-Spreadsheet des PlentyGetVariations Step ist

Fall 2:

Das hat meiner Ansicht nach noch nie funktioniert, da auf das Ergebnis von parseJSON nicht mit at zugegriffen werden kann (siehe auch parseJSON auf einen String (aus einem Datastore))

Über die parseField Template Funktion würde das gehen. Ist ziemlich umständlich und deshalb nicht zu empfehlen :
${parseField(VariationPropertyIDsJSON, "MAP","JSON","","").at("150")}

Fall 3:

Wenn du das PlentyGetVariations Ergebnis nicht direkt verwendest, ist das auch die einfachste Möglichkeit den Wert zu erhalten.

VG Torsten

1 „Gefällt mir“

Hi @synesty-Torsten ,

hab mich schon gefragt wann ich hier mal drauf antworte. Wir sind mittlerweile bei den ersten Varianten über das Limit gekommen, ich kann somit die Varianteneigenschaften nicht mehr aktualisieren. Kann das Limit etwas erhöht werden? 12.500? 15.000?

Gruß
Marc

Hi Marc,

entschuldige die späte Rückmeldung. Ich musste zu dem Thema nochmal Rücksprache halten.

:smiley: Die letzte Limit-Erhöhung hat ja immerhin knapp 5 Jahre durchgehalten.

Wir haben uns das bei Plenty angeschaut. Das Limit für die Eigenschaftstexte liegt bei 65535 Zeichen. Damit das Limit bei uns nicht in 1-2 Jahren wieder ein Problem wird, würden gern versuchen das MAP Limit unangetastet zu lassen und einen anderen Weg zu finden.

Unsere Idee ist es, einen neuen Step zu bauen, der die Eigenschaften + Werte als einzelne Zeilen ausgibt, z.B. so:

Über den extra Step könnten wir die Werte einzeln ausgeben und müssten sie nicht mehr in die eine Ergebniszeile des PlentyGetVariation Steps „zwängen“. Da es einzelne Werte sind, greift dann auch das Zeichenlimit für die MAP nicht und du kannst die 65535 voll ausnutzen.

Würde dir das helfen bzw. könntest du damit arbeiten? Falls ja, welche Spalten bräuchtest du im Ergebnis des Steps? Varianten ID, ID der Eigenschaft, Eigenschaftswert, Name der Eigenschaft?

VG Torsten