{{item.notificationType}}:

Template Funktionen - Übersicht

Hier finden sie eine Übersicht aller Funktionen, die Sie im Freemarker-Skripten in Synesty Studio benutzen können.
In diesem Zusammenhang empfehlen wir auch folgende Handbuchseiten:

isNumber(value)

Beschreibung
Prüft, ob ein Wert eine Zahl ist.

Parameter Typ Beschreibung Gültige Werte
value TEXT
Beispiel Ausgabe
${isNumber("10.1")} true
${isNumber("foo 10.1")} false
<#if isNumber(5)>value ist eine Zahl<#else>value ist KEINE Zahl</#if> value ist eine Zahl

random(MinVal, MaxVal)

Beschreibung
Erzeugt eine Zufallszahl. Die Zufallszahl ist Standard-mäßig vom Datentyp double, also eine Zahl mit Dezimalstellen. Um eine Ganzzahl zu erhalten nutzen Sie das Freemarker-Built-in ?floor, um Abzurunden, und die Dezimalstellen wegzuschneiden.

Parameter Typ Beschreibung Gültige Werte
MinVal INTEGER minimum value for random number
MaxVal INTEGER maximum value for random number
Beispiel Ausgabe
${random(1,10)} random number between 1 and 10
${random()} random number between 0 and 1 (e.g. 0.567885)
${random(100)} random number between 0 and 100 (e.g. 45.57743)
${random(10,100)} random number between 10 and 100 (e.g. 11.35675)
${random()?floor} random integer number between 0 and 1
${random(100)?floor} random integer number between 0 and 100
${random(10,100)?floor} random integer number between 10 and 100

position_of(string, searchStr, ordinal)

Beschreibung
Ermittelt die n-te Position eines Zeichens bzw. Teilstrings innerhalb einer Zeichenkette. Ein Beispiel mit anderen Worten: "An der wievielten Positionen kommt "-" (Bindestrich) zum zweiten mal vor?"

Parameter Typ Beschreibung Gültige Werte
string STRING String, which the search pattern is applied to
searchStr STRING the pattern to searched for
ordinal INTEGER the number of occurence
Beispiel Ausgabe
Position of the 2nd occurence of "-" is ${position_of("1-2-3-4", "-",2)} Position of the 2nd occurence of "-" is 3

unescapeHTML(string)

Beschreibung
Ersetzt HTML Entitäten. Das Gegenstück zu escapeHTML.

Parameter Typ Beschreibung Gültige Werte
string STRING The HTML String
Beispiel Ausgabe
${unescapeHTML("&lt;")!} <

escapeHTML(string)

Beschreibung
Ersetzt bestimmte Zeichen durch HTML Entitäten.

Parameter Typ Beschreibung Gültige Werte
string STRING description
Beispiel Ausgabe
${escapeHTML('>')!} &gt;

stripHTMLTags(inputString)

Beschreibung
Diese Funktion entfernt HTML Tags aus Texten. Das wird häufig in Datenfeeds bei der Artikelbeschreibung benötigt. Bisher konnte man das ganze auch über Suchen/Ersetzen mit einem regulären Ausdruck erreichen. Diese Funktion macht das ganze einfacher und komfortabler.

Parameter Typ Beschreibung Gültige Werte
inputString STRING String from which HTML Tags are to be removed
Beispiel Ausgabe
${stripHTMLTags("<h1>Content</h1><p>Text</p>")!} ContentText

now()

Beschreibung
Liefert die aktuelle Zeit als Timestamp in Millisekunden.

Beispiel Ausgabe
${now()} 1417185735245

eanChecksum(ean)

Beschreibung
Berechnet die 13. Stelle (Prüfsumme) einer EAN13.

Parameter Typ Beschreibung Gültige Werte
ean TEXT the ean whose checksum is to be calculated.
Beispiel Ausgabe
${eanChecksum("978381582086")!} 5
${"978381582086"+eanChecksum("978381582086")!} 9783815820865

UUID()

Beschreibung
Erzeugt eine 36-stellige eineindeutige ID, eine sog. UUID.

Beispiel Ausgabe
${UUID()!} z.B. 8e7f2a40-9f12-4d85-b805-ed6864c13fec

parseField(string, fieldType, contentType, delimiter, keyValueDelimiter)

Beschreibung
Spezialfunktion, die hautpsächlich den Anwendungsfall hat, auf Attributwert zuzugreifen, die wie folgt in einer einzelnen Spalte hinterlegt sind: color=red;size=M Häufig trifft man das bei Artikeldaten an, wo Variantenattribute wie Farbe und Größe auf diese Art mit bestimmten Trennzeichen in einer Spalte stehen. Man könnte alternativ mit der ?split Funktion den String zerlegen, aber parseField ist komfortabler. Wenn Sie nur den ersten Parameter angeben, dann wird MAP angenommen wie in parseField("A=0;B=4;C=DE", "MAP", "TEXT", ";", "=")

Parameter Typ Beschreibung Gültige Werte
string TEXT The input string
fieldType TEXT FieldType is a type, which defines whether a single value, multiple values or a map is used. Usually you want to use MAP. MAP MULTIPLEVALUE SINGLE
contentType TEXT ContentType describes the kind of value, which is to be used. Usually you want to use TEXT, INTEGER or DECIMAL TEXT LONGTEXT INTEGER DECIMAL BOOLEAN HTML URL IMAGEURL
delimiter TEXT the delimiter for the key-value pairs (e.g. ";")
keyValueDelimiter TEXT The delimiter between key and value (e.g. "=")
Beispiel Ausgabe
<#assign myMap = parseField("A=0;B=4;C=DE")> ${myMap.at("C")} DE
<#assign myMap = parseField("A=0;B=4;C=DE", "MAP", "TEXT", ";", "=")> ${myMap.at("C")} DE
<#assign myMap = parseField("A=0;C=DE")> ${myMap.at("A")} 0
<#assign myMap = parseField("A=0;C=DE", "MAP", "TEXT", ";", "=")> ${myMap.at("A")} 0

parseMap(string, keyValueDelimiter, delimiter)

Beschreibung
Liest eine Zeichenkette wie 'A=0;B=4;C=DE' als Key-Value Map ein. Man kann auf die Werte mit Hilfe des Schlüssels zugreifen. Limitierung: Max. keys=1000, max. key-Länge: 255 chars., max. Wert-Länge: 1000 chars.

Parameter Typ Beschreibung Gültige Werte
string TEXT The input string
keyValueDelimiter TEXT Optional: The delimiter between key and value (e.g. default is "=").
delimiter TEXT Optional: The delimiter between the key-value pairs (e.g. default is ";").
Beispiel Ausgabe
${parseMap("a=1;b=2").at("a")} 1
${parseMap("a=1;b=2")["a"]} 1
${parseMap("a=1;b=2").containsKey("A")?string} false
${parseMap("a=1;b=2").containsKeyIgnoreCase("A")?string} true
${parseMap("a=1;b=2").containsKeysOneOf("c","A")?string} false
${parseMap("a=1;b=2").containsKeysOneOfIgnoreCase("c","A","d" )?string} true
${parseMap("a=1;b=2").atFirst("c","a","d" )} a
${parseMap("a=1;b=2").atFirstIgnoreCase("c","A","d" )} a
${parseMap("a=1;b=2").getFirstKey("c","a","d" )} a
${parseMap("a=1;b=2").atFirstIgnoreCase("c","A","d" )} a
${parseMap("a=1;b=2").containsKeysAll("a","B")?string} false
${parseMap("a=1;b=2").containsKeysAllIgnoreCase("a","B")?string} true
${parseMap("a=1;b=2","=")["a"]} 1
${parseMap("a=1;b=2","=", ";")["a"]} 1
<#list parseMap("a=1;b=2") as key, value>${key} : ${value},</#list> a : 1,b : 2

urlEncode(inputString, type, delimiter, keyValueDelimiter, paramName)

Beschreibung
Mit der Funktion urlEncode kann man Zeichenketten so aufbereiten, dass man sie in URLs benutzen kann. Sie ersetzt alle Sonderzeichen, die in URLs nicht erlaubt sind entsprechend.

Parameter Typ Beschreibung Gültige Werte
inputString TEXT Input URL
type TEXT The content type, which is to be used SINGLE MULTIPLEVALUE Map
delimiter TEXT the delimiter used between entries
keyValueDelimiter TEXT the delimiter between key and value (e.g. "=")
paramName TEXT
Beispiel Ausgabe
${urlEncode("#sonderzeichen und leerzeichen!\"§%&//("!)!} %23sonderzeichen+und+leerzeichen%21%22%C2%A7%25%26%2F%2F%28

urlDecode(inputString, type, delimiter, keyValueDelimiter, paramName)

Beschreibung
decodiert URLs als einfachen string, zeichenseparierte Liste von Strings oder eine MAP von Schlüssel Wert Paaren. Das Gegenstück zu urlEncode

Parameter Typ Beschreibung Gültige Werte
inputString TEXT the input String
type TEXT Use SINGLE, MULTIPLEVALUE or MAP SINGLE MULTIPLEVALUE MAP
delimiter TEXT delimiter between entries (e.g. ";")
keyValueDelimiter TEXT delimiter between key and value (e.g."=")
paramName TEXT
Beispiel Ausgabe
${urlDecode(result['%23sonderzeichen+und+leerzeichen']!)!} #sonderzeichen und leerzeichen

datecalc(field, amount)

Beschreibung
Rechnet mit einem Datum, um Zeiten zu addieren oder subtrahieren. Man kann entweder das aktuelle Datum verwenden oder ein Referenzdatum reingeben.Die verwendbaren Felder sind MONTH, DAY, HOUR, MINUTE, SECOND, MILLISECOND.Hinweis: Bei Verwendung eines Referenzdatums muss das Datum als String reingegeben werden z.B. 2015-08-06 10:39Wenn das Datum nicht als STRING sondern als DATE vorliegt, muss man erst noch einen String daraus machen z.B. prop_lastruntime?datetime

Parameter Typ Beschreibung Gültige Werte
field TEXT MONTH DAY HOUR MINUTE SECOND MILLISECOND
amount INTEGER
Beispiel Ausgabe
${datecalc("2016-02-03", "DAY", 2)?date}
${datecalc("HOUR", 1)!?datetime} Rechnet 1 Stunde auf die aktuelle Uhrzeit drauf.
${datecalc("DAY", -2)!?datetime} Ergibt das Datum von Vorgestern, bezogen auf jetzt.
${datecalc(prop_lastruntime?datetime, "DAY", -2)?string('yyyy-MM-dd HH:mm')} Zieht vom Datum der letzten Laufzeit 2 Tage ab.

datediff(field)

Beschreibung
Berechnet die Differenz zwischen einem Start- und End-Datum. Die verwendbaren Felder sind YEAR, MONTH, DAY, HOUR, MINUTE, SECOND. Hinweis: Bei Verwendung eines Referenzdatums muss das Datum als String reingegeben werden z.B. 2015-08-06 10:39. Bei Angabe von "NOW" wird das aktuelle Datum verwendet.Wenn das Datum nicht als STRING sondern als DATE vorliegt, muss man erst noch einen String daraus machen z.B. prop_lastruntime?datetime

Parameter Typ Beschreibung Gültige Werte
field TEXT YEAR MONTH DAY HOUR MINUTE SECOND
Beispiel Ausgabe
${datediff("2016-02-03", "2016-02-05", "DAY")} 2
${datediff("2016-02-03", "NOW", "DAY")} positive number of days until now.
${datediff("NOW", "2016-02-03", "DAY")} negative number of days from now till past.

lastdayofmonth(referenceDate)

Beschreibung
Liefert ein Date Objekt des letzten Tag des Monats bezogen auf das übergebene Referenzdatum. Wird kein Referenzdatum angegeben, wird der aktuelle Zeitpunkt als Referenzdatum genutzt.

Parameter Typ Beschreibung Gültige Werte
referenceDate TEXT
Beispiel Ausgabe
${lastdayofmonth("2016-02-03")?date}
${lastDayOfMonth("2016-02-15")?date} Ausgabe: Feb 29, 2016
${lastdayofmonth("2016-02-03")?date?string("dd.MM.yyyy")} 29.02.2016
${lastDayOfMonth()?date} wie oben, nur letzter Tag des aktuellen Monats

firstdayofmonth(referenceDate)

Beschreibung
Liefert ein Date des ersten Tag des Monats bezogen auf das übergebene Referenzdatum. Wird kein Referenzdatum angegeben, wird der aktuelle Zeitpunkt als Referenzdatum genutzt.

Parameter Typ Beschreibung Gültige Werte
referenceDate TEXT Formatted Date
Beispiel Ausgabe
${firstdayofmonth("2016-02-03")?date}
${firstDayOfMonth("2016-02-15")?date} Feb 01, 2016
${firstDayOfMonth("2016-02-03")?date?string("dd.MM.yyyy")} 01.02.2016
${firstDayOfMonth()?date} der erste Tag des aktuellen Monats

min(list, delimiter(optional))

Beschreibung
Ermittelt das numerische Minimum einer Liste. Die Liste kann als Liste (z.B. [2,3,4]) übergeben werden oder als String mit einem Trenner wie z.B. Komma (z.B. "2,3,4").

Parameter Typ Beschreibung Gültige Werte
list TEXT The list of values as list or separated string.
delimiter(optional) TEXT optional delimiter
Beispiel Ausgabe
${min([2,3,1,4,5])!} 1
${min("2,3,1,4,5")!} 1
${min("2,3,1,4,5", ",")!} 1

max(list, delimiter(optional))

Beschreibung
Ermittelt das numerische Maximum einer Liste. Die Liste kann als Liste (z.B. [2,3,4]) übergeben werden oder als String mit einem Trenner wie z.B. Komma (z.B. "2,3,4").

Parameter Typ Beschreibung Gültige Werte
list TEXT The list of values as list or separated string.
delimiter(optional) TEXT If no value is assigned comma (",") is assumed as default delimiter
Beispiel Ausgabe
${max([2,3,1,5,4])!} 5
${max("2,3,1,5,4")!} 5
${max("2,3,1,5,4", ",")!} 5

gross(Number, Percent)

Beschreibung
Errechnet zu einem Netto-Preis den Brutto-Preis zu einem gegebenem Steuersatz

Parameter Typ Beschreibung Gültige Werte
Number DECIMAL
Percent DECIMAL
Beispiel Ausgabe
${gross("84.03", "19.0")} 100.00

net(Number, Percent)

Beschreibung
Errechnet zu einem Brutto-Preis den Netto-Preis zu einem gegebenem Steuersatz

Parameter Typ Beschreibung Gültige Werte
Number DECIMAL
Percent DECIMAL
Beispiel Ausgabe
${net("100.00", "19.0")} 84.03

round(Number, Scale, RoundingMode, RoundingValue)

Beschreibung
Rundet einen numerischen Wert auf eine bestimmte Anzahlt Dezimalstellen und einem Rundungsmodus.

Parameter Typ Beschreibung Gültige Werte
Number DECIMAL Value to be rounded
Scale TEXT Rounding Mode CEILING FLOOR HALF_UP HALF_DOWN HALF_EVEN
RoundingMode TEXT comma position after which is rounded
RoundingValue DECIMAL Value, which is rounded to
Beispiel Ausgabe
<#assign price=99.8490><br/>${round(price,2,"HALF_EVEN")} 99.85
<#assign price=99.8490><br/>${round(price,2,"HALF_EVEN", 0.75)} 100.75

sha1(inputString)

Beschreibung
Berechnet den SHA1-Hash eines Wertes.

Parameter Typ Beschreibung Gültige Werte
inputString STRING String to be encoded with SHA1
Beispiel Ausgabe
${sha1("Wert")!}
${sha1(meinevariable)!}

sha256(inputString)

Beschreibung
Berechnet den SHA256-Hash eines Wertes

Parameter Typ Beschreibung Gültige Werte
inputString STRING String to be encoded with SHA256
Beispiel Ausgabe
${sha256("Wert")!}
${sha256(meinevariable)!}

sha512(inputString)

Beschreibung
Berechnet den SHA512-Hash eines Wertes

Parameter Typ Beschreibung Gültige Werte
inputString STRING String to be encoded with SHA512
Beispiel Ausgabe
${sha512('Wert')!}
${sha512(meinevariable)!}

md5(inputString)

Beschreibung
Berechnet die MD5-Checksumme / Hash eines Wertes.

Parameter Typ Beschreibung Gültige Werte
inputString TEXT String to be MD5 decoded
Beispiel Ausgabe
${md5("Wert")!}<br/>oder<br/>${md5(meinevariable)!}

hmacMD5(message, secret, outputType)

Beschreibung
Berechnet den hacmMD5-Hash eines Wertes.

Parameter Typ Beschreibung Gültige Werte
message TEXT message to be hashed
secret TEXT the secret for the hmacMD5 hash
outputType TEXT type of output: empty = UTF-8 String (default), base64 = Base64 encoded, hex - Lowercase Hexadecimal
Beispiel Ausgabe
${hmacMD5("Wert", "mein_secret", "hex")!} 7e48cf3c84e43c8fc0fec994e7738e23
${hmacMD5("Wert", "mein_secret", "base64")!} fkjPPITkPI/A/smU53OOIw==

hmacSHA1(message, secret, outputType)

Beschreibung
Berechnet den hmacSHA1-Hash eines Wertes.

Parameter Typ Beschreibung Gültige Werte
message TEXT message to be hashed
secret TEXT the secret for the hmacSHA1 hash
outputType TEXT type of output: empty = UTF-8 String (default), base64 = Base64 encoded, hex - Lowercase Hexadecimal
Beispiel Ausgabe
${hmacSHA1("Wert", "mein_secret", "hex")!} 4d6333c9068edb842a0756b853e7f01bbe7d9820
${hmacSHA1("Wert", "mein_secret", "base64")!} TWMzyQaO24QqB1a4U+fwG759mCA=

hmacSHA256(message, secret, outputType)

Beschreibung
Berechnet den hmacSHA256-Hash eines Wertes.

Parameter Typ Beschreibung Gültige Werte
message TEXT message to be hashed
secret TEXT the secret for the hmacSHA256 hash
outputType TEXT type of output: empty = UTF-8 String (default), base64 = Base64 encoded, hex - Lowercase Hexadecimal
Beispiel Ausgabe
${hmacSHA256("Wert", "mein_secret", "hex")!} 6028de046e8d3097425134ad6792545988b46f428b1694e1ee22c450ea2e9058
${hmacSHA256("Wert", "mein_secret", "base64")!} YCjeBG6NMJdCUTStZ5JUWYi0b0KLFpTh7iLEUOoukFg=

encodeBase64(input, charset)

Beschreibung
Encoded einen String mit Base64. Standard Zeichensatz ist UTF-8

Parameter Typ Beschreibung Gültige Werte
input TEXT Input String to be base64 encoded
charset TEXT Charset of result. Default UTF-8
Beispiel Ausgabe
${encodeBase64("Mein toller String")!} TWVpbiB0b2xsZXIgU3RyaW5n
${encodeBase64("Mein toller String mit Gro�buchstaben!", "ISO-8859-1")!} TWVpbiB0b2xsZXIgU3RyaW5nIG1pdCBHcm/fYnVjaHN0YWJlbiE=

decodeBase64(input, charset)

Beschreibung
Decodiert einen Base64 string. Standard Zeichensatz ist UTF-8

Parameter Typ Beschreibung Gültige Werte
input TEXT base64encoded string to be decoded
charset TEXT Charset of string. Default UTF-8
Beispiel Ausgabe
${decodeBase64("TWVpbiB0b2xsZXIgU3RyaW5n")!} Mein toller String
${decodeBase64("TWVpbiB0b2xsZXIgU3RyaW5nIG1pdCBHcm/fYnVjaHN0YWJlbiE=","ISO-8859-1")!} Mein toller String mit Gro�buchstaben!

substring_word(String, Integer)

Beschreibung
kürzt einen anzugebenden String auf eine anzugebende Länge, vermeidet aber, dass Wörter mitten drin abgeschnitten werden. (Das Zeichen an dem gekürzt wird ist ein Leerzeichen)

Parameter Typ Beschreibung Gültige Werte
String TEXT Input String
Integer INTEGER Character Position, where the substring is cut. The last whole word before the character position is included in the substring.
Beispiel Ausgabe
${substring_word("abcd efgh", 6)!} abdc

hextonumber(hex string)

Beschreibung
Wandelt eine Hexadecimalzahl in eine Ganzzahl um. Unterstützt die Schreibweise mit 0x / # und ohne.

Parameter Typ Beschreibung Gültige Werte
hex string TEXT The hex string
Beispiel Ausgabe
${hextonumber("0x5b3f6601")} 1530881537
${hextonumber("#5b3f6601")} 1530881537
${hextonumber("5b3f6601")} 1530881537

numbertohex(number)

Beschreibung
Wandelt eine Ganzzahl in eine Hexadezimalzahl um.

Parameter Typ Beschreibung Gültige Werte
number INTEGER the integer number
Beispiel Ausgabe
${numbertohex("1530881537")} 5b3f6601

urlcontentBase64(url, testIfImageExists)

Beschreibung
Wandelt eine URL (z.B. Bild-URL) in einen BASE64 String.

Einschränkungen (z.B. funktioniert nur in bestimmten Steps)
[SpreadsheetURLDownload,APICall,UrlDownload]

Parameter Typ Beschreibung Gültige Werte
url TEXT The URL to be downloaded and encoded to base64.
testIfImageExists BOOLEAN If true then a check if URL exists is executed (check if URL returns HTTP 200 with HEAD call). If false no check is performed. Default: true.
Beispiel Ausgabe
<#assign base64img = meta.urlcontentBase64('http://mywebsite.com/myimage.jpg', true)/><#if !base64img?startsWith('ERROR') >${base64img}</#if> The base64 String of the image-URL
For batchSize > 1 (without the meta. prefix): <#assign base64img = urlcontentBase64('http://mywebsite.com/myimage.jpg', true)/><#if !base64img?startsWith('ERROR') >${base64img}</#if> The base64 String of the image-URL

nextUrl(url)

Beschreibung
Funktion, die am Ende des parsingTemplate platziert wird und die aufzurufende URL für den nächsten Call definiert.

Einschränkungen (z.B. funktioniert nur in bestimmten Steps)
[APICall]

Parameter Typ Beschreibung Gültige Werte
url TEXT The URL to be called in the next call.
Beispiel Ausgabe
${nextUrl('http://put.the.next.url.here.com')}

setVariable(key, value)

Beschreibung
Funktion, um eine Variable zu setzen, die dann im parsingTemplate des folgenden Calls wieder verfügbar ist.

Einschränkungen (z.B. funktioniert nur in bestimmten Steps)
[APICall]

Parameter Typ Beschreibung Gültige Werte
key TEXT Name of the variable.
value TEXT Value of the variable.
Beispiel Ausgabe
${setVariable('key','value')}

getVariable(key)

Beschreibung
Funktion, um den Wert einer Variable zu lesen, die durch setVariable(k,v) gesetzt wurde.

Einschränkungen (z.B. funktioniert nur in bestimmten Steps)
[APICall]

Parameter Typ Beschreibung Gültige Werte
key TEXT Name of the variable.
Beispiel Ausgabe
${getVariable('key')}

incCounter(counterName, increment)

Beschreibung
Funktion, um eine Zählvariable (counter) hochzuzählen.

Einschränkungen (z.B. funktioniert nur in bestimmten Steps)
[APICall]

Parameter Typ Beschreibung Gültige Werte
counterName TEXT Name of the counter.
increment INTEGER Optional: value on how much to increment the counter. Default: 1
Beispiel Ausgabe
${incCounter('myCounter')} 1
${incCounter('myCounter',5)} 5

selectHTML(expression)

Beschreibung
Selektiert ein bestimmtes HTML-Fragment mit einem CSS-Selektor (ähnlich zu jQuery). Es gibt eine List sog. JSOUP-Objekte zurück (https://jsoup.org/cookbook/extracting-data/attributes-text-html), die das HTML-Fragment repräsentieren und womit man auf HTML-Tags oder Attribute zugreifen kann.

Einschränkungen (z.B. funktioniert nur in bestimmten Steps)
[HTMLParser,HTML2Spreadsheet]

Parameter Typ Beschreibung Gültige Werte
expression TEXT The CSS-selector for the Elements.
Beispiel Ausgabe
<#assign nodes = selectHTML("a") /><#list nodes as n>${n.text()} : ${n.attr("href")!}</#list> Outputs the text and href-attribute of each link on the webpage.

parseJSON(json)

Beschreibung
Liest einen Zeichenkette (String) in ein JSON Model.

Parameter Typ Beschreibung Gültige Werte
json TEXT The actual JSON String to be parsed.
Beispiel Ausgabe
${parseJSON("{'firstname': 'Max'}")['firstname'].getAsString()!} Max

addColumns(row, node, prefix, options)

Beschreibung
Fügt alle Felder einer JSON Node als Spalten in einer Zeile des Ausgabe-Spreadsheets hinzu. Syntax: ${addColumns(row, node, prefix, options)}

Einschränkungen (z.B. funktioniert nur in bestimmten Steps)
[JSON2Spreadsheet]

Parameter Typ Beschreibung Gültige Werte
row ROW Row of the target / output Spreadsheet where the columns should be added.
node NODE The node of the JSON-structure from which the fields are extracted and added to the row.
prefix TEXT Optional: a prefix which is added to each column name.
options TEXT Optional: a hash / map containing configuration parameters which control how columns are added. See examples for syntax.
Beispiel Ausgabe
${addColumns(row, node, 'prefix')} add all fields of node to the row and prefix all fields with prefix
${addColumns(row, node, 'prefix', {'columns':['sku','stock']})} only add two columns sku and stock and prefix them with prefix
${addColumns(row, node, 'prefix', {'columns':['sku','stock'], 'mode':'exclude'})} add all fields 'except' sku and stocj of node to the row and prefix all fields with prefix
${addColumns(row, node, 'prefix', {'columns':['sku','stock'], 'mode':'exclude', 'skipEmptyValues':true})} only add two columns sku and stock, but only if their values are not empty.
Arrays: ${addColumns(row, item['tax_lines'], 'tax_lines_')} if item['tax_lines'] is a JsonArray, then a column will be added for each field of the ArrayElement and the values will be concatenated by comma
Arrays: ${addColumns(row, item['tax_lines'], 'tax_lines_', { 'delimiter': '|'})} if item['tax_lines'] is a JsonArray, then a column will be added for each field of the ArrayElement and the values will be concatenated by custom delimited pipe
Arrays: ${addColumns(row, item['tax_lines'], 'tax_lines_', { 'delimiter': '|', 'columns':['price','rate']})} if item['tax_lines'] is a JsonArray, then a column will be added for each field of the ArrayElement and the values will be concatenated by custom delimited pipe. But only columns price and rate will be added.
Arrays: ${addColumns(row, item['tax_lines'], 'tax_lines_', { 'delimiter': '|', 'columns':['price','rate'], 'mode':'exclude'})} if item['tax_lines'] is a JsonArray, then a column will be added for each field of the ArrayElement and the values will be concatenated by custom delimited pipe. But columns price and rate will be excluded.
Arrays: ${addColumns(row, item['tax_lines'], 'tax_lines_', { 'delimiter': '|', 'textqualifier': '''})} if item['tax_lines'] is a JsonArray, then a column will be added for each field of the ArrayElement and the values will be concatenated by custom delimited pipe and each value is also surrounded by quotes (textqualifier)

addColumns(row, node, prefix, options)

Beschreibung
Fügt alle Felder einer XML Node als Spalten in einer Zeile des Ausgabe-Spreadsheets hinzu. Syntax: ${addColumns(row, node, prefix, options)}

Einschränkungen (z.B. funktioniert nur in bestimmten Steps)
[XML2Spreadsheet]

Parameter Typ Beschreibung Gültige Werte
row ROW Row of the target / output Spreadsheet where the columns should be added.
node NODE The node of the XML-structure from which the fields are extracted and added to the row.
prefix TEXT Optional: a prefix which is added to each column name.
options TEXT Optional: a hash / map containing configuration parameters which control how columns are added. See examples for syntax.
Beispiel Ausgabe
${addColumns(row, node, 'prefix')} add all fields of node to the row and prefix all fields with prefix
${addColumns(row, node, 'prefix', {'columns':['sku','stock']})} only add two columns sku and stock and prefix them with prefix
${addColumns(row, node, 'prefix', {'columns':['sku','stock'], 'mode':'exclude'})} add all fields 'except' sku and stocj of node to the row and prefix all fields with prefix
${addColumns(row, node, 'prefix', {'columns':['sku','stock'], 'mode':'exclude', 'skipEmptyValues':true})} only add two columns sku and stock, but only if their values are not empty.

attr(attributeName, xmlNode)

Beschreibung
Zugriff auf attribute von XML-Nodes. Syntax: ${attr("attributename", xmlnode)} Beispiel: <product category='myCat'> ${attr("category", xmlnode)} Ausgabe: myCat

Einschränkungen (z.B. funktioniert nur in bestimmten Steps)
[XML2Spreadsheet]

Parameter Typ Beschreibung Gültige Werte
attributeName TEXT Name of the attribute.
xmlNode NODE The XML-Node from which you want to access the attribute.
Beispiel Ausgabe
${attr('myAttribute', xmlnode)} Returns the value of the attribute with name myAttribute.

Filter and join columns()

Beschreibung
Filtert Spalten mit einem Filter-Ausdruck (INCLUDE, INCLUDE_NOT_EMPTY oder EXCLUDE) und verbindet deren Werte mit einem Trenner. INCLUDE fügt alle Spalten ein, die auf den Filterausdruck passen. INCLUDE_NOT_EMPTY ebenso, jedoch nur für nicht-leere Spalten. EXCLUDE ist das Gegenteil und schließt alle Spalten aus, die auf den Filter passen. Das erste Beispiel verbindet die Spalte 'name' und alle Spalten die mit dem Prefix 'price' beginnen (z.B. price1, price2 usw.).

Einschränkungen (z.B. funktioniert nur in bestimmten Steps)
[SpreadsheetMapper]

Beispiel Ausgabe
${row.getCols().filter("name,price*","INCLUDE").join(",")} Super Shoe XI;129.99
${row.getCols().filter("name,image*","INCLUDE_NOT_EMPTY").join(",")} Name and all image-columns which contain a image-url (are not empty).
${row.cols.filter("price,name,image", "EXCLUDE").join(";")} All columns except price, name and image

Join all columns by a delimiter()

Beschreibung
Verbindet alle Spalten mit einem Trenner. Das Beispiel verbindet alle Spalten mit einem Komma.

Einschränkungen (z.B. funktioniert nur in bestimmten Steps)
[SpreadsheetMapper]

Beispiel Ausgabe
${row.getCols().join(',')}

parseXml(xml)

Beschreibung
Liest einen XML-Zeichenkette (String) in ein XML Model.

Parameter Typ Beschreibung Gültige Werte
xml TEXT The actual XML String to be parsed.
Beispiel Ausgabe
${parseXml('<firstname>Max</firstname>')['firstname']!} Max

getVariable(key)

Beschreibung
Funktion, um den Wert einer Variable zu lesen, die durch setVariable(k,v) gesetzt wurde.

Einschränkungen (z.B. funktioniert nur in bestimmten Steps)
[SpreadsheetMapper]

Parameter Typ Beschreibung Gültige Werte
key TEXT Name of the variable.
Beispiel Ausgabe
${getVariable('key')} value

setVariable(key, value)

Beschreibung
Funktion, um eine Variable zu setzen, die dann in den folgenden Spalten und Zeilen wieder verfügbar ist. Verwenden sie die getVariable Funktion um den Wert zu erhalten. Die Anzahl der Schlüssel(key) ist beschränkt auf 100. Die maximale Länge der Schlüssel(key) ist 255 Zeichen and die maximale Länge der Werte(value) ist 1000 Zeichen.

Einschränkungen (z.B. funktioniert nur in bestimmten Steps)
[SpreadsheetMapper]

Parameter Typ Beschreibung Gültige Werte
key TEXT Name of the variable.
value TEXT Value of the variable.
Beispiel Ausgabe
${setVariable('key','value')}