Variablen
In vielen Eingabefeldern von Lobster_data können Variablen verwendet werden, die dann zur Laufzeit durch spezifische Werte ersetzt werden.
Variablen sind zu unterscheiden von Konstanten.
Arten von Variablen
Es können zwei verschiedene Arten von Variablen unterschieden werden.
Typen von Variablen
Variablen können den Datentypen String, Integer, Double, Date, Boolean, Float, BigDecimal, BigInteger, TimeStamp oder Blob haben.
Namenskonventionen
Erlaubte Zeichen sind a-Z und 0-9 und die Sonderzeichen _ und #.
Keine Leerzeichen und keine Sonderzeichen außer _ und #.
Der Name darf nicht mit einer Zahl beginnen.
Wir empfehlen die Namenskonvention VAR_NAME.
Variablen anlegen/definieren
Variablen werden normalerweise im Profil angelegt. Zudem gibt es die folgende Möglichkeit Variablen in einer Datei ./etc/admin/datawizard/custom_variables.xml anzulegen. Folgend eine beispielhafte Konfigurationsdatei.
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
definition
>
<
variable
name
=
"var__internal_booking_id"
value
=
"33"
type
=
"int"
description
=
"booking account"
/>
<
variable
name
=
"var__internal_error_msg"
type
=
"string"
reset
=
"true"
client
=
"-1"
/>
</
definition
>
Verfügbare Attribute
Attribut |
Beschreibung |
name |
Der Name der Variable. |
type |
Der Typ der Variable. Erlaubte Werte sind: int(eger), float, double, string, date, |
value |
Der initiale Wert der Variable. |
description |
Der Beschreibungstext der Variable. |
reset |
Erlaubte Werte: true und false. Entspricht der Spalte Reset im Variablen-Dialog der GUI. |
client |
Der Mandant in Lobster_data, für den die Variable-Erzeugung gültig ist (-1 ist der |
Zugriff auf Variablen
Der Zugriff auf Variablen erfolgt mit der Syntax @Variable@. Bei Textvorlagen kann eine Ersetzung auch mit der Syntax {--@variable@--} erfolgen. Darauf wird an entsprechenden Stellen in der Dokumentation hingewiesen. In Parametern von Funktionen können Variablen auch direkt ausgewählt werden.
Initialisierung von Variablen
Profil-Variablen werden am Anfang von Phase 3 initialisiert. System-Variablen werden am Anfang von Phase 2 initialisiert. Variablen mit Präfix MSG_CALL werden am Anfang von Phase 1 initialisiert.
Lobster_data bietet aber auch die Möglichkeit, Variablen mit einer Java-Klasse zu initialisieren. Die Klasse muss von der Klasse com.ebd.hub.datawizard.plugin.AbstractInitializeVariables abgeleitet sein. Lobster_data bietet eine Programmierschnittstelle (API), die es Ihnen auch erlaubt eigene Komponenten in Java zu entwickeln. Hierzu bieten wir eine vertiefte Schulung an. Bei Interesse wenden Sie sich bitte an unsere Mitarbeiter im Support bzw. im Vertrieb. Lobster_data bietet als Default-Implementierung die Klasse com.ebd.hub.datawizard.plugin.ChangeVariables. Fügen Sie dazu folgenden Eintrag (ist auskommentiert bereits enthalten) in die Konfigurationsdatei ./etc/startup.xml ein, um die Klasse zu aktivieren.
<
Set
name
=
"initVariableClass"
>com.ebd.hub.datawizard.plugin.ChangeVariables</
Set
>
Die Klasse wird bei jedem Job-Start (also vor Ende der Phase 3) ausgeführt und initialisiert dabei die Variablen. Die Variablenwerte werden gesetzt in der Konfigurationsdatei ./conf/PredefinedVariables.properties. Die Properties-Datei sieht folgendermaßen aus.
#Zuweisung eines Werts durch <MYVAR>=<Wert>
#Zu beachten ist, dass die verwendete Variable im Profil definiert sein muss!
var__TEST=Hello
Hinweis: Es wird auf den Typ 'gecasted', den die Variable im Profil hat. Haben wir also z. B. im Profil eine Variable var__TEST vom Typ Integer, ergibt die Properties-Datei-Angabe var__TEST=Hello für die Variable im Profil den Wert 0, wegen des dann stattfindenden impliziten Typcasts von String auf Integer.
Hinweis: Wenn man Werte Job-übergreifend (oder auch Profil-übergreifend) speichern will, kann man dazu die Funktionen save permanent(a,b,c), get permanent(a, b) und delete permanent(a, b) verwenden.