Counter Variable in XML

Hallo Zusammen,


ich habe dank der tollen Vorlagen, einen Flow zum auspielen von XML Dateien aus einem Master-Child Datastore erstellt.

Jetzt hänge ich nur noch an einer kleinen Stelle fest.

Das XML Schema sieht vor, dass in der Zeile <TOTAL_ITEM_NUM> die Anzahl der Auftragspositionen ausgegeben werden muss.

In einem anderen Flow hatte ich über die Flow Variablen eine Counter Variable erstellt und im Spreadsheet Mapper darauf referenziert


${meta.counter.inc(master['id'] + "")}


Jetzt dachte ich mir, das Gleiche kann ich bei dem anderen Flow auch machen und diese Freemarker Variable im XML hinterlegen, allerdings bekomme ich die Fehlermeldung, dass die Variable counter nicht bekannt sei, obwohl diese als Variable im Flow hinterlegt ist.


Hätte da noch jemand eine Idee?


Viele Grüße

Ramin

<#list row.children() as ch>
		<ORDER_ITEM_LIST>
			<ORDER_ITEM>
				<LINE_ITEM_ID>"${ch['Auftrag-Pos']!}"</LINE_ITEM_ID>
				<ARTICLE_ID>
					<SUPPLIER_AID>"${ch['Produktnummer-Lieferant']!}"</SUPPLIER_AID>
				</ARTICLE_ID>
				<QUANTITY>"${ch['Menge']!}"</QUANTITY>
				<ORDER_UNIT>"${ch['Mengeneinheit']!}"</ORDER_UNIT>
			</ORDER_ITEM>
		</ORDER_ITEM_LIST>
		</#list>
		<ORDER_SUMMARY>
			<TOTAL_ITEM_NUM>"${meta.counter.inc(master['id'] + "")}"</TOTAL_ITEM_NUM>
		</ORDER_SUMMARY>
	</ORDER>
	</#assign>${output(content, (row.get("Lieferantenauftragsnummer")+".xml"), "iso-8859-1")}
	</#list>

Hallo Ramin,


das freut uns immer wieder, wenn Kunden selbst Ihre XML-Formate basteln.

Hast du schon einmal

${row.children()?size}

probiert. Die Funktion sollte die Anzahl an Child Reihen ausgeben, die dann auch deinen Positionen entsprechen sollten.

Auf folgender Seite findest du noch andere Funktionen, die dir in Zukunft vielleicht weiterhelfen:

https://docs.synesty.com/display/SSUD/Spreadsheet+Freemarker-Funktionen


Viele Grüße,

Lukas

Sensationell! Danke für die schnelle Rückmeldung, genau das hat geholfen :)


Bei den tollen Vorlagen und dem Support, ist es echt viel einfacher sich da reinzuarbeiten.


Danke nochmal!


Viele Grüße

Ramin