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. eBiss.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.
Das Löschen bzw. das Zurücksetzen muss über die Funktion 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 |
Das Auslesen der Variable muss immer mit genau einem Dollarzeichen erfolgen oder noch besser über die Funktion XVar, diese ist beim mehrfachen Auslesen z.B. in einer Schleife wesentlich schneller als der direkte Zugriff.