====== Variablen ======
In Variablen können Sie Ergebnisse von Mappingregeln ablegen, um diese später wieder abzurufen. Variablen müssen mit einem vorangestellten $ gekennzeichnet werden. Bei einer Zuweisung sollte man die Variable mit zwei Dollarzeichen ($$) (z.B. [[transformation:mappings:funktionen:excel:loadtab|]]) angeben, dann wird der zu speichernde Wert nicht als Zeichenkette gespeichert. Ein Beispiel:
^Rulename ^Selection ^Target ^
| r_rule | substring(@Gtin,1,7)='99999' | $InvalidEan |
Nach der Auswertung steht in der Variable $InvalidEan z.B. der Wert 'false' und ein weiterer Vertgleich muss dann auf 'true' oder 'false' prüfen, denn da $InvalidEan nicht leer ist, ist folgendes immer wahr.
^Rulename ^Selection ^Target ^
| rs_ruleset | $InvalidEan | |
Wenn man stattdessen $$InvalidEan verendet, steht der boolsche Wert in der Variable.
^Rulename ^Selection ^Target ^
| r_rule | substring(@Gtin,1,7)='9999999' | $$InvalidEan |
Weiter können so ganze Strukturn in Variablen gespeichert werden, z.B. Ergebnisse von GroupByEx, etc.
==== Hinweise ====
=== Zurücksetzen ===
Das Löschen bzw. das Zurücksetzen muss über die Funktion [[transformation:mappings:funktionen:allgemein:clearvariable|]] erfolgen. Eine Zuweisung mit einer leeren Zeichenkette scheitert, da ein leerer Selektor zu einer Nichtausgewertung führt. D.h., die folgende Regel wird gar nicht erst ausgeführt:
^Rulename ^Selection ^Target ^
| r_rule | '' | $$InvalidEan |
=== Auslesen ===
Das Auslesen der Variable muss immer mit genau einem Dollarzeichen erfolgen oder noch besser über die Funktion [[transformation:mappings:variablen:xvar|XVar]], diese ist beim mehrfachen Auslesen z.B. in einer Schleife wesentlich schneller als der direkte Zugriff.