Hallo Micha,
die getVariable und setVariable Template Funktion haben wir eingeführt, um bei mehrfacher Ausführung eines Freemarker Templates innerhalb eines Steps eine Art "globalen" Speicher zur Verfügung zu stellen. Bei APICall können so Werte Call übergreifend (beim parsen der Response, im parsingTemplate) und im Mapper Step zeilenübergreifend Werte gespeichert bzw. verwendet werden. Das wäre mit der Freemarker Direktive <#assign> nicht möglich, da der Wert nur "lokal" während der Verarbeitung des FM Templates zur Verfügung steht. Wenn es möglich, solltest du immer <#assign> verwenden und die getVariable/setVariable Funktion nur in den beiden genannte Spezialfällen verwenden.
Im JSONReader wird das transformationTemplate nur einmal verwendet, um die Input Datei in das Output Spreadsheet zu "transformieren". Deshalb können in diesem Step alle Werte über <#assign> gespeichert werden. Die getVariable/setVariable Funktion ist nicht notwendig.
Viele Grüße
Torsten
Du möchtest im Ausgabe Spreadsheet hochzählende Zeilennummern haben?
Dann packe nach dem JSONReader noch einen Mapper und packe noch eine Spalte dazu, wo du ${_rowNumber!} ausgibst.


Das Input-Spreadsheets mit den JSON Responses könnte so aussehen:

Der JSONReader dafür wäre so:
