Variablentypen

Abhängig von den Anforderungen der in Ihrem Prozess enthaltenen Geschäftsdaten können Sie die in den Systemtoolkits (z. B. im System Data-Toolkit) bereitgestellten Variablentypen verwenden oder angepasste Geschäftsobjekte erstellen.

Systemtoolkits werden in Business Automation Studio bereitgestellt, sodass jede Workflowautomatisierung und jedes Toolkit, die Sie erstellen, Zugriff auf allgemeine Systemdaten hat. Systemtoolkits stellen die beiden folgenden Kategorien von Variablen bereit:

Basistypen
Basistypen ermöglichen die Erstellung benutzerdefinierter Variablentypen, die als Geschäftsobjekte bezeichnet werden. Eine Liste sämtlicher Basistypen finden Sie in der nachfolgenden Tabelle.
Systemtypen
Systemtypen sind bereitgestellte Variablentypen, an denen keine Änderungen vorgenommen werden können. Eine Liste aller Systemtypen finden Sie unter JavaScript -API in Prozessen und Service-Flows.
In der folgenden Tabelle finden Sie weitere Informationen zu den Basistypen von Geschäftsobjekten, die in den Systemtoolkits bereitgestellt werden.
Tabelle 1. Bereitgestellte Basistypen
Basistypen Beschreibung
String Erlaubt die Eingabe alphanumerischer Zeichen in eine Variable
Integer Akzeptiert Zahlen ohne Dezimalstelle im Bereich von -2147483648 bis 2147483647, wie 45 oder 20
Decimal Akzeptiert Ziffern mit Dezimalstellen mit doppelter IEEE 754-Genauigkeit, wie z. B. 45.3 oder 20.13
Date Ermöglicht die Eingabe von Datum- und Zeitformaten in eine Variable
Time Ermöglicht die Eingabe von Datumsformaten in eine Variable als Zeitangaben. Der Benutzer gibt eine Zeit ein; bevor die Variable in die Symboltabelle eingefügt wird, erfolgt eine Umwandlung in einen Datumstyp.
Selection Ermöglicht das Bereitstellen einer Liste mit möglichen Eingaben, von denen der Benutzer genau eine auswählen kann. Eine Auswahl ist eine Liste mit verschiedenen Werten; jeder Wert ist eine Zeichenfolge. Eine Auswahlvariable wird zur Ausführungszeit auf einem Coach-Formular als Liste oder als Optionsfeld dargestellt.
Boolean Akzeptiert true oder false als Wert. Der boolesche Wert erscheint zur Ausführungszeit auf einem Coach-Formular als Kontrollkästchen.
Structure Wenn Sie einen Strukturtyp verwenden möchten, müssen Sie einen benutzerdefinierten Strukturtyp erstellen und dessen Eigenschaften definieren. Eine Struktur fasst Geschäftsdaten zusammen, die zu einem bestimmten Thema gehören. Eine Customer-Struktur könnte zum Beispiel Elemente enthalten wie lastName, firstName, homeNumber, streetAddress usw.

Benutzerdefinierte Variablentypen

Benutzerdefinierte Variablentypen werden mithilfe von Geschäftsobjekten definiert. Wenn die in den Systemtoolkits enthaltenen vordefinierten Geschäftsobjekte Ihren Erfordernissen nicht entsprechen, können Sie eigene Geschäftsobjekte erstellen. Weitere Informationen zu allgemeinen Geschäftsobjekten, die im Systemdaten-Toolkit enthalten sind, finden Sie unter Systemdaten-Toolkit.

Validierung für benutzerdefinierte Variablentypen
Sie können Validierungseinstellungen für benutzerdefinierte Variablentypen definieren, die eine einfache Typdefinition verwenden. Diese Validierungsregeln werden in den folgenden Situationen überprüft:
  • Wenn Sie einer Variablen in einem Prozess oder Dienst eines solchen Typs einen Wert zuweisen, z. B. wenn ein Skript einer Variablen einen Wert zuweist tw.local variable zuweist oder ein Output Mapping, bei dem ein Dienstergebnis in eine tw.local variable zugeordnet wird, wird der Wert validiert.
Validierung für die benutzerdefinierte Variablentypen 'Ganzzahl (Integer)' und 'Dezimalzahl (Decimal)'
Für die Geschäftsobjektdefinitionen 'Ganzzahl (Integer)' und 'Dezimalzahl (Decimal)' können Sie zum Angeben eines Bereichs entsprechende Mindest- und Maximalwerte angegeben. Wenn Sie beispielsweise den Mindestwert '0' und den Maximalwert '100' (beide Werte inklusive) angeben, erhalten Sie einen Typ, der für eine Variable verwendet werden könnte, für die Benutzer einen Prozentsatz angeben, der nicht negativ oder höher als 100 % sein kann.

Indem Sie die Genauigkeit und die Anzahl der Kommastellen festlegen, können Sie die Dezimalzahl und die Dezimalstellen einer Zahl beschränken.

Sie legen fest, wie die Validierungseinstellungen in der Konfiguration für Geschäftsobjekte der Serverkonfiguration interpretiert werden müssen.

Tabelle 2. Validierungseigenschaften für Genauigkeit und Anzahl der Kommastellen
Eigenschaften Typ Standardwert Beschreibung
precision-validation-on-server-enabled boolesch Falsch

Wird beim Festlegen einer Variablen zum Aktivieren der Validierung der Einstellung für die Genauigkeit verwendet.

precision-validation-strip-trailing-zeros boolesch Falsch

Wird vor der Validierung der Genauigkeit zum Entfernen abschließender Nullen hinter dem Dezimaltrennzeichen verwendet.

precision-validation-type Enum (equals, lessOrEquals) Gleichungen

Wenn diese Eigenschaft auf equal festgelegt ist, muss die Genauigkeit des Variablenwerts dem entsprechen, was im Variablentyp angegeben ist. Ist die Eigenschaft auf lessOrEquals gesetzt, muss die Genauigkeit des Variablenwerts gleich oder weniger dessen sein, was im Variablentyp festgelegt ist.

scale-validation-strip-trailing-zeros boolesch Falsch

Wird vor der Validierung der Anzahl der Kommastellen zum Entfernen abschließender Nullen hinter dem Dezimaltrennzeichen verwendet.

scale-validation-type Enum (equals, lessOrEquals) Gleichungen

Wenn diese Eigenschaft auf equalsgesetzt ist, muss die Skala des Variablenwerts dem entsprechen, was im Variablentyp angegeben ist. Ist die Eigenschaft auf lessOrEquals gesetzt, muss die Anzahl der Kommastellen des Werts gleich oder weniger dessen sein, was im Variablentyp festgelegt ist.

Das folgende Beispiel zeigt, wie Sie den Wert für die Genauigkeit auf '5' und den Wert für die Anzahl der Kommastellen auf '2' für einen Variablentyp festlegen können.
Wenn Sie die Eigenschaft precision-validation-on-server-enabled auf true setzen, jedoch für alle anderen Eigenschaften den jeweiligen Standardwert beibehalten, ist der folgende Wert gültig:
  • 123.45
Die folgenden Werte sind ungültig:
  • 1234,56 (falsche Genauigkeit, '6' anstatt '5')
  • 12,34 (falsche Genauigkeit, '4' anstatt '5')
  • 12,345 (falsche Anzahl der Kommastellen, '3' anstatt '2')
  • 1234,1 (falsche Anzahl der Kommastellen, '1' anstatt '2')

Der folgende JavaScript-Ausdruck führt ebenfalls zu einem Validierungsfehler, da JavaScript vor dem Zuweisen des Werts abschließende Nullen zur Ausführungszeit entfernt:

tw.local.variable = 123.40

Der folgende JavaScript-Ausdruck generiert keinen Validierungsfehler, da die Zeichenfolge korrekt validiert wird und anschließend automatisch zum Festlegen des Variablenwerts in eine Zahl konvertiert wird:

tw.local.variable = "123.40"

Um die Einstellungen für Genauigkeit und Anzahl der Kommastellen als die entsprechenden XML-Schemaklassen totalDigits und fractionDigits zu verwenden, müssen Sie die Konfigurationsflags wie in der nachfolgenden Tabelle dargestellt festlegen:
Tabelle 3. Validierungseinstellungen für Genauigkeit und Anzahl der Kommastellen und ihre entsprechenden Einstellungen der XML-Schemaklassen 'totalDigits' und 'fractionDigits'
Einstellung Typ
precision-validation-on-server-enabled Ja
precision-validation-strip-trailing-zeros Ja
precision-validation-type lessOrEquals
scale-validation-strip-trailing-zeros Ja
scale-validation-type lessOrEquals
Derselbe Variablentyp, der im vorherigen Beispiel verwendet wird, erachtet dann die folgenden Werte als gültig:
  • 123.45
  • 12.34
  • 123.4
  • 123
Die folgenden Werte sind weiterhin ungültig:
  • 1234,56 (falsche Genauigkeit, '6' anstatt maximal '5')
  • 12,345 (falsche Anzahl der Kommastellen, '3' anstatt maximal '2')

Numerische Berechnungen in Scripts

Sie können JavaScript verwenden, um einen Prozess oder einen Serviceschritt zu programmieren. Mit doppelter Genauigkeit werden numerische Werte für Variablen gespeichert.

Wenn Sie Berechnungen in Scripts durchführen, berücksichtigen Sie die möglichen Begrenzungen für diese Genauigkeit. Wenn Sie beispielsweise 1000,06 + 0,01 rechnen, ist das mathematisch korrekte Ergebnis 1000,07. Wenn Sie jedoch die Zahlen in JavaScript addieren, lautet das Ergebnis 1000.0699999999999.

Wenn Sie mathematisch korrekte Berechnungen benötigen, führen Sie diese Berechnungen außerhalb des JavaScript-Codes durch. Sie können beispielsweise die Klassen BigDecimal und BigInteger verwenden, um in einem Java™-Programm Berechnungen mit voller Präzision durchzuführen. Wenn Sie das Ergebnis mit vollständiger Genauigkeit in einer Prozess- oder Servicevariablen speichern müssen, können Sie die Zahl als Zeichenfolge formatieren und den Datentyp 'Zeichenfolge' (String) für die Variable verwenden.

Einschränkung : Der Wert NaN oder Infinity kann nicht in der Datenbank für eine Prozessvariable gespeichert werden, die in Workplacesichtbar ist. Wenn Sie den Wert einer solchen Variablen berechnen, stellen Sie sicher, dass das Ergebnis nicht NaN oder Infinity ist; andernfalls wird ein Fehler in die Datei SystemOut.log geschrieben.