Variablentypen
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.
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 auflessOrEquals
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
equals
gesetzt ist, muss die Skala des Variablenwerts dem entsprechen, was im Variablentyp angegeben ist. Ist die Eigenschaft auflessOrEquals
gesetzt, muss die Anzahl der Kommastellen des Werts gleich oder weniger dessen sein, was im Variablentyp festgelegt ist.
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
- 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"
totalDigits
und
fractionDigits
zu verwenden, müssen Sie die Konfigurationsflags wie in der nachfolgenden Tabelle dargestellt festlegen: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 |
- 123.45
- 12.34
- 123.4
- 123
- 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.
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.