Skip to main content

xSuite Interface Windows Prism 5.x – Online-Hilfe

Datentypen, Variablen und Literale

In einem Makroausdruck können Variablen in der Syntax @Variablenname verwendet werden. Informationen zu den Arten verfügbarer Variablen finden Sie unter Variablen.

In der Praxis werden meist Feldvariablen verwendet. Dies sind Variablen, die sich auf Felder aus dem Feldkatalog eines Dokumentes beziehen. Die möglichen Datentypen für Variablen entsprechen daher genau den Datentypen, die unter Feldkatalog für die Deklaration von Feldern aufgeführt sind (siehe Eigenschaft FieldCatalog[].Field[].InitType):

  • Text: String

  • Number: numerischer Wert ohne oder mit Nachkommastellen

  • Date: Datum/Uhrzeit

  • Bool: Wahrheitswert

Eine explizite Unterscheidung zwischen Zahlen mit und ohne Nachkommastellen sowie von Datumswerten mit und ohne Uhrzeit findet nicht statt. Programmintern verfügen diese Datentypen immer auch über einen Dezimalstellen-Anteil oder einen Uhrzeit-Anteil, der dann möglicherweise keine Nutzdaten enthält. Der Datentyp einer Variable kann zur Laufzeit variieren. Dies ist abhängig davon, welcher Wert der Variable als Initialwert, als eingelesener Indexfeldwert oder als Rückgabewert einer Makroausführung zugewiesen wird.

In einem Makroausdruck können konstante Werten (Literale) verwendet werden. Die Syntax dieser konstanten Werte ist für die verschiedenen Datentypen wie folgt:

Datentyp

Syntax für Literale

Text

String-Werte sind in doppelte Anführungszeichen einzubetten. Alternativ können auch einfache Anführungszeichen verwendet werden, um das notwendige Maskieren beim Einbetten von doppelten Anführungszeichen in einen JSON-String zu umgehen: "Value" oder 'Value'.

Anführungszeichen desselben Typs innerhalb des Wertes müssen doppelt angegeben werden, d.h. für Say "Hello" ist beispielsweise "Say ""Hello""" zu schreiben. Für Anführungszeichen des jeweils anderen Typs gilt das nicht, sodass z. B. 'Say "Hello"' eine gültige Alternativschreibweise darstellt.

Innerhalb einer Konfiguration ist der gesamte Makroausdruck wiederum als String-Wert in doppelten Anführungszeichen zu definieren. In der JSON-Syntax dient ein \" zum Maskieren innerer (doppelter) Anführungszeichen: "\"Say \"\"Hello\"\"\"". Bei der manuellen Bearbeitung von JSON-Daten sollte in Hinblick auf die bessere Lesbarkeit innerhalb des Makroausdrucks bevorzugt mit einfachen Anführungszeichen gearbeitet werden.

Number

Numerische Werte können aus den Ziffern 0 bis 9, einem vorangestellten Minuszeichen und einem Punkt als Dezimaltrennzeichen bestehen, z. B. 123, -123 oder 1.23.

Date

Datumswerte ohne Uhrzeit haben die Syntax yyyy-MM-dd, z. B. 2021-12-31.

Datumswerte mit Uhrzeit haben die Syntax yyyy-MM-dd HH:mm:ss, z. B. 2021-12-31 23:59:00.

Bool

Wahrheitswerte haben die beiden Ausprägungen TRUE und FALSE in jeglicher Variante von Groß-/Kleinschreibung.

Hinweis

Der Wert NULL wird vom Makrointerpreter nicht unterstützt. Makrofunktionen liefern keine NULL-Werte als Ausführungsergebnis zurück und sind nicht explizit auf den Umgang mit NULL-Werten als Aufrufparameter ausgelegt. Leere Werte werden stattdessen abhängig vom Datentyp als leere Zeichenfolge ("", 0, 0001-01-01) oder als FALSE dargestellt. Wenn der konkrete Datentyp nicht bekannt ist, wird standardmäßig die leere Zeichenfolge genutzt.

Ein Ausnahmefall sind Werte, die über eine externe Datenbankabfrage eingelesen wurden. Diese Werte können den originalen NULL-Wert behalten. Vor der Weiterverarbeitung eines potentiellen NULL-Wertes mit einer Makrofunktion, die mit diesem Wert möglicherweise nicht korrekt umgehen kann, sollte eine Prüfung mit der Funktion IsNull() ausgeführt werden.