Dynamische Funktionen: Bool
not
Beschreibung |
Die dynamische Funktion not erwartet genau ein boolsches Argument. Es gilt: not(false)=true und not(true)=false
|
Syntax |
${not(b)}
|
Parameter |
Als Argument wird ein dynamischer Ausdruck angegeben. Die Auswertung dieses Ausdrucks muss in einen boolschen Wert true/false resultieren.
|
Beispiel |
${not(${equals(A,A)})}
|
allof
Beschreibung |
Die dynamische Funktion allof bildet die boolsche Funktion AND ab. Die Ausgabe ist boolsch. False, falls mindestens eine Eingabe false ist.
|
Syntax |
${allof(true,false)}
|
Parameter |
2 bis n boolsche Werte
|
Beispiel |
${allof(${equals(${template(&(this.B3P_VALIDATION_STATUS))},SUC)},${equals(${template(&(this.B3P_VALIDATION_STATUS_APERAK))},ERR)})}
|
anyof
Beschreibung |
Die dynamische Funktion anyof bildet die boolsche Funktion OR ab. Die Ausgabe ist boolsch. True, falls mindestens eine Eingabe true ist.
|
Syntax |
${anyof(true,false)}
|
Parameter |
2 bis n boolsche Werte
|
Beispiel |
${anyof(${equals(${template(&(this.B3P_VALIDATION_STATUS))},SUC)},${equals(${template(&(this.B3P_VALIDATION_STATUS_APERAK))},ERR)})}
|
greater
Beschreibung |
Die dynamische Funktion greater(a,b) vergleicht die beiden ganzen Zahlen a und b, ob a > b gilt.
|
Syntax |
${greater(ausdruck1, ausdruck2)} Das Ergebnis ist true/false.
|
Parameter |
Die Ausdrücke müssen jeweils zu ganzen Zahlen ausgewertet werden können. Folgende Ausdrücke sind möglich: MessageContext Key (liest eine Zahl aus dem MessageContext), dynamische Funktion (wertet die dynamische Funktion zu einer Zahl aus) oder eine konstante Zahl.
|
Beispiel |
${greater(${length(CURRENT_PAYLOAD)},7340032)}
|
greater than
Beschreibung |
Die dynamische Funktion greaterthan(vergleichstyp,a,b) vergleicht die beiden Werte a und b, ob a > b gilt.
|
Syntax |
${greaterthan(vergleichstyp,<date_string_a>,<message_context_key_b>)}
|
Parameter |
vergleichstyp = derzeit nur DATE
|
Beispiel |
${greaterthan(DATE,201409011100,B3P_BASE_MESSAGE_RECEIVED)}
|
less than
Beschreibung |
Die dynamische Funktion lessthan(vergleichstyp,a,b) vergleicht die beiden Werte a und b, ob a < b gilt.
|
Syntax |
${lessthan(vergleichstyp,<date_string_a>,<message_context_key_b>)}
|
Parameter |
vergleichstyp = derzeit nur DATE
|
Beispiel |
${lessthan(DATE,201409011100,B3P_BASE_MESSAGE_RECEIVED)}
|
equals
Beschreibung |
Die dynamische Funktion equals(a,b) vergleicht die beiden Werte a und b. Beide Parameter a und b können dynamische Funktionen sein.
|
Syntax |
${equals(template_ausdruck,vergleichswert)}
|
Parameter |
|
Beispiel |
${equals(${template(&(this.FORMAT.type)_&(this.FORMAT.version))},UTILMD_5.1B)}
|
have intersection
Beschreibung |
Die dynamische Funktion haveintersection(Stringliste1,Stringliste2) untersucht, ob die beiden Listen eine Schnittmenge haben.
|
Syntax |
${haveintersection(Stringrepräsentation von Liste 1, Stringrepräsentation von Liste 2)}
|
Parameter |
Als Parameter können hier dynamische Funktionen eingetragen werden, deren Werte eine Stringrepräsentation einer Liste darstellen, beispielsweise ${edipath(...)}, ${loadExtensionProperty(...)}. Ein einzelner Wert kann auch direkt als ein Parameter eingetragen werden. Mehrere manuell eingetragene Werte müssen hingegen über die ${context(...)}-Funktion angegeben werden.
|
Beispiel |
${haveintersection(${edipath(LOC+2+0)},${loadextension(Meine_Ext)})}
|
In dem gezeigten Beispiel untersucht die Funktion “haveintersection”, ob die Edifact bestimmte Einträge (hier Locationspunkte) enthält, die in der Extension Meine_Ext definiert wurden. Das boolsche Ergebnis der Funktion eignet sich beispielsweise für den Wert eines Decorators, um eine Aktion nur optinal auszuführen.
is subset
Beschreibung |
Die dynamische Funktion isSubset(Liste1,Liste2) untersucht, ob die erste Liste1 eine Teilmenge von Liste2 ist.
|
Syntax |
${isSubset(Stringrepräsentation der möglichen Teilmenge, Stringrepräsentation der Obermenge)}
|
Parameter |
Als Parameter können hier dynamische Funktionen eingetragen werden, deren Werte eine Stringrepräsentation einer Liste darstellen, beispielsweise ${edipath(...)}, ${loadExtensionProperty(...)}. Ein einzelner Wert kann auch direkt als ein Parameter eingetragen werden. Mehrere manuell eingetragene Werte müssen hingegen über die ${context(...)}-Funktion angegeben werden.
|
Beispiel |
${isSubset(${edipath(PIA+2+0)}, ${context(1-1:1.29.0, 1-2:2.29.0)})}
|
Im obigen Beispiel wird überprüft, ob alle OBIS-Kennzahlen der Edifact entweder gleich ‘1-1:1.29.0’ oder gleich ‘1-2:2.29.0’ sind.
View Me
Edit Me