Variablen

Welche Variablen zur Verfügung stehen, hängt davon ab, an welcher Stelle vSQL eingesetzt wird. Insgesamt gibt es folgende Variablen:

userBenutzer

Der eingeloggte Benutzer ist immer über die vSQL-Variable user zugänglich, d.h. dass z.B. user.firstname der Vorname des eingeloggten Benutzers ist.

rDatensätze

Der Datensatz der für den jeweiligen Zweck getestet werden soll, also der Datensatz der für die Filterbedingung bei Datenquellen gefiltert werden soll, oder bei den Farben im Datenmanagement eingefärbt werden soll, oder bei der Konfiguration für untergeordnete Datensätze (bei der Filterbedingung und der Sortierung) der untergeordnete Datensatz etc.

recordDatensätze

Wenn ein Anzeige-Template als Detail-Template aufgerufen wird und wenn ein E-Mail-Template aufgerufen wird, so ist der Detaildatensatz unter der Variable record in der Filterbedingung für Datenquellen zugänglich. Das einzige Attribut das aber tatsächlich vorhanden ist, ist id (d.h. record.id ist die eindeutige 30-stellige Kennung des Detail-Datensatzes.)

langString

Die aktuelle Sprache (globals.lang in UL4).

modeString

Der Template-Modus (globals.mode in UL4).

searchString

Der aktuelle Suchausdruck für die Ajax-Suche für Applookups vom Untertyp "choice" im Eingabeformular.

request.id

In der Filterbedingung für Datenquellen kann mittels request.id auf die eindeutige ID des Requests zugegriffen werden.

request.method

In der Filterbedingung für Datenquellen kann mittels request.method auf die HTTP-Request-Methode zugegriffen werden.

request.url

In der Filterbedingung für Datenquellen kann mittels request.url auf die vollständige URL (mit Query-String) zugegriffen werden.

request.params

In der Filterbedingung für Datenquellen kann mittels request.params auf die Parameter des HTTP-Requests zugegriffen werden (nur bei Anzeige-Templates, nicht bei E-Mail-Templates). request.params besitzt zehn Unter-Attribute.

request.params.str.*

Enthält die Parameter als Einzelwerte und interpretiert sie als String. Wenn ein Parametername trotzdem doppelt angegeben wurde, ist der Wert der des ersten Auftretens, d.h. in der URL:

http://my.living-apps.de/gateway/apps/1234567890abcdef12345678?template=gurk&x[]=1&y=2&x[]=3

ergibt request.params.str.x den String "1". Wurde der Parametername gar nicht angegeben, so ist der Wert None.

request.params.strlist.*

Enthält die Parameter als Listen und interpretiert sie als String, d.h. wenn ein Parametername mehrmals angegeben wurde, so ist der Wert eine Liste mit mehreren Strings, wurde er nur einmal angegeben, so enthält die Liste nur einen String, wurde der Parametername gar nicht angegeben, so ist die Liste leer. Bei obiger URL ergibt also request.params.strlist.x die Liste ["1", "3"], request.params.strlist.y ergibt ["2"] und request.params.strlist.z ergibt [].

request.params.int.*

Enthält die Parameter als Einzelwerte und interpretiert sie als ganze Zahl. Wird ein Parametername trotzdem doppelt angegeben, ist der Wert der des ersten Auftretens, d.h. in der URL:

http://my.living-apps.de/gateway/apps/1234567890abcdef12345678?template=gurk&x[]=1&y=2&x[]=3

ergibt request.params.int.x die ganze Zahl 1. Wurde der Parametername gar nicht angegeben, oder entspricht er nicht dem Format für INT-Parameter, so ist der Wert None.

request.params.intlist.*

Enthält die Parameter als Listen und interpretiert sie als ganze Zahl, d.h. wenn ein Parametername mehrmals angegeben wurde, so ist der Wert eine Liste mit mehreren ganzen Zahlen, wurde er nur einmal angegeben, so enthält die Liste nur eine ganze Zahl. Wurde der Parametername gar nicht angegeben, oder entspricht er nicht dem Format für INT-Parameter, so ist die Liste leer. Bei obiger URL ergibt also request.params.intlist.x die Liste [1, 3], request.params.intlist.y ergibt [2] und request.params.intlist.z ergibt [].

request.params.float.*

Enthält die Parameter als Einzelwerte und interpretiert sie als Zahl mit Nachkommastellen. Wird ein Parametername trotzdem doppelt angegeben, ist der Wert der des ersten Auftretens, d.h. in der URL:

http://my.living-apps.de/gateway/apps/1234567890abcdef12345678?template=gurk&x[]=1.1&y=2.2&x[]=3.3

ergibt request.params.float.x die Zahl 1.1. Wurde der Parametername gar nicht angegeben, oder entspricht er nicht dem Format für NUMBER-Parameter, so ist der Wert None.

request.params.floatlist.*

Enthält die Parameter als Listen und interpretiert sie als Zahl mit Nachkommastellen, d.h. wenn ein Parametername mehrmals angegeben wurde, so ist der Wert eine Liste mit mehreren Zahlen, wurde er nur einmal angegeben, so enthält die Liste nur eine Zahl. Wurde der Parametername gar nicht angegeben, oder entspricht er nicht dem Format für NUMBER-Parameter, so ist die Liste leer. Bei obiger URL ergibt also request.params.floatlist.x die Liste [1.1, 3.3], request.params.floatlist.y ergibt [2.2] und request.params.floatlist.z ergibt [].

request.params.date.*

Enthält die Parameter als Einzelwerte und interpretiert sie als Datum. Wird ein Parametername trotzdem doppelt angegeben, ist der Wert der des ersten Auftretens, d.h. in der URL:

http://my.living-apps.de/gateway/apps/1234567890abcdef12345678?template=gurk&x[]=2018-05-01&y=2018-06-01&x[]=2018-07-01

ergibt request.params.date.x das Datum 01.05.2018. Das Format für DATE-Parameter ist YYYY-MM-DD. Zum Beispiel kann mit request.params.date.datum in der Filterbedingung der Datenquelle auf datum=2000-02-29 in der URL zugegriffen werden. Wurde der Parametername gar nicht angegeben, oder entspricht er nicht dem Format für DATE-Parameter, so ist der Wert None.

request.params.datelist.*

Enthält die Parameter als Listen und interpretiert sie als Datum, d.h. wenn ein Parametername mehrmals angegeben wurde, so ist der Wert eine Liste mit mehreren Daten, wurde er nur einmal angegeben, so enthält die Liste nur ein Datum. Wurde der Parametername gar nicht angegeben, oder entspricht er nicht dem Format für DATE-Parameter, so ist die Liste leer. Bei obiger URL ergibt also request.params.datelist.x die Liste [01.05.2018, 01.07.2018], request.params.datelist.y ergibt [01.06.2018] und request.params.datelist.z ergibt [].

request.params.datetime.*

Enthält die Parameter als Einzelwerte und interpretiert sie als Datum mit Uhrzeit. Wird ein Parametername trotzdem doppelt angegeben, ist der Wert der des ersten Auftretens, d.h. in der URL:

http://my.living-apps.de/gateway/apps/1234567890abcdef12345678?template=gurk&x[]=2018-05-01T14:30:55&y=2018-06-01T09:50:22&x[]=2018-07-01T12:30:05

ergibt request.params.datetime.x das Datum mit Uhrzeit 01.05.2018 14:30:55. Das Format für DATETIME-Parameter ist YYYY-MM-DDTHH:MM:SS. Zum Beispiel kann mit request.params.datetime.datum in der Filterbedingung der Datenquelle auf datum=2000-02-29T14:30:29 in der URL zugegriffen werden. Wurde der Parametername gar nicht angegeben, oder entspricht er nicht dem Format für DATETIME-Parameter, so ist der Wert None.

request.params.datetimelist.*

Enthält die Parameter als Listen und interpretiert sie als Datum mit Uhrzeit, d.h. wenn ein Parametername mehrmals angegeben wurde, so ist der Wert eine Liste mit mehreren Daten und Uhrzeiten, wurde er nur einmal angegeben, so enthält die Liste nur ein Datum mit Uhrzeit. Wurde der Parametername gar nicht angegeben, oder entspricht er nicht dem Format für DATETIME-Parameter, so ist die Liste leer. Bei obiger URL ergibt also request.params.datetimelist.x die Liste [01.05.2018 14:30:55, 01.07.2018 12:30:05], request.params.datetimelist.y ergibt [01.06.2018 09:50:22] und request.params.datetimelist.z ergibt [].

request.headers

In der Filterbedingung für Datenquellen kann mittels request.headers auf die Header des HTTP-Requests zugegriffen werden (nur bei Anzeige-Templates, nicht bei E-Mail-Templates). request.headers besitzt zwei Unter-Attribute.

request.headers.str.*

Enthält die Header als Einzelwerte und interpretiert sie als String. Wenn ein Header mehrfach angegeben wurde, ist es der Wert der des ersten Auftretens.

request.headers.strlist.*

Enthält die Header als Listen und interpretiert sie als String, d.h. wenn ein Header mehrmals angegeben wurde, so ist der Wert eine Liste mit mehreren Strings, wurde er nur einmal angegeben, so enthält die Liste nur einen String, wurde der Header gar nicht angegeben, so ist die Liste leer.

request.cookies.*

In der Filterbedingung für Datenquellen kann mittels request.cookies auf die Cookies des HTTP-Requests zugegriffen werden (nur bei Anzeige-Templates, nicht bei E-Mail-Templates).