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 ${allof(${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