Bei der Benutzung von sysvariable! wird aus dem ObjectLoader die gesetzte Variable welche VariablenName entspricht, ausgelesen und sysvariable!VariablenName durch ihren Wert ersetzt.
Hierbei ist zu beachten das der Wert automatisch mit Limitern geschrieben wird, wenn es sich hierbei um einen String handelt.
Die Klasse EvaUtils beinhaltet die Methoden um Variablen auszulesen und zu setzen:
Eine Systemvariable wird mit der Methode
EvaUtils.putVariable(Object key,Object value)
gesetzt.
| Text: | ||
|---|---|---|
| Variable | key = anweisung | value = Hallo Welt |
| Setzen | EvaUtils.putVariable("anweisung", new String("Hallo Welt")); | |
| Anweisung | SELECT * FROM TABELLE WHERE VALUE = sysvariable!anweisung | |
| Ausführung | SELECT * FROM TABELLE WHERE VALUE = ‘Hallo Welt’ | |
Da es sich hier bei dem gesetzten Objekt um einen String handelt, werden die Textspezifischen Limiter, also die einfachen Anführungszeichen, automatisch gesetzt und dürfen nicht in der Anweisung vorkommen.
| Zahl: | ||
|---|---|---|
| Variable | key = zahl | value = 1 |
| Setzen | EvaUtils.putVariable(“zahl“,new Integer(1)); | |
| Anweisung | SELECT * FROM TABELLE WHERE ID > sysvariable!zahl | |
| Ausführung | SELECT * FROM TABELLE WHERE ID > 1 | |
Um eine Variable außerhalb von SQL-Anweisungen auszulesen gibt kann die Methode
EvaUtils.getVariable(Object key)
verwendet werden, welche das Objekt für den übergebenen Schlüssel zurückgibt. Wenn es keinen Wert gibt, der diesem Schlüssel entspricht, wird null zurückgegeben.