Artikelzeile mal x duplizieren

Hallo zusammen,

wir arbeiten gerade an einem Projekt, bei dem wir die aus Plenty kommenden Artikelzeilen duplizieren müssen mit der Anzahl der bestellten Menge,

Also angenommen ich habe in einem Auftrag 3 Artikel. Der erste Artikel ist 1x bestellt, der zweite 4x und der dritte 10 mal dann brauch ich im Mapper irgendwie die Zeilen wie folgt.
1x Artikelzeile 1
4x indentische Artikelzeile 2
10x identische Artikelzeile 3.

Insgesamt also 15 Zeilen zu diesem Auftrag.

Ich würde also gerne über das Feld Quantity die Menge der Zeilen des jeweiligen Artikels bestimmen, komme aber nicht drauf wie ich die Zeilen splitten/ duplizieren kann.

Danke für eure Anregungen und viele Grüße

Hallo,



mit dem Freemarker Skript


<#if OrderItemsQuantity! != ""><#list 1..OrderItemsQuantity!?number as i>1<#sep>,</#list></#if>


kannst du dir eine Komma separierte Liste in einer Spalte erzeugen.

Nach dem Mapper kannst du den ColumnSplitToRows Step verwenden um diese Werte in Zeilen aufzutrennen.


Viele Grüße

Torsten


Hallo,


es gibt den Step ColumnSplitToRows. Der sollte dein Problem lösen.


Damit du den benutzen kannst, musst du eine neue Spalte anlegen, die abhängig von dem Quantity-Feld entsprechend viele Delimiter enthält. Das kannst du über folgendes Freemarer-Skript erreichen:

<#list 1..result['Quantity']?number as counter>${counter}<#sep>,</#list>

Hier ein Beispiel:

https://apps.synesty.com/transformy?m=4943476c88164b9a91e90bb42f3a15c8


Der ColumnSplitToRows-Step benutzt die neu angelegte Spalte und Komma als Delimiter.

Da war ich wohl zu langsam :)

Vielen Dank euch!

Genau das habe ich gesucht, mein Skript sah schon so ähnlich aus, den Fehler habe ich nun durch euch finden können.


VG