Types de variables
Les kits d'outils système sont fournis dans Business Automation Studio de sorte que chaque automatisation de flux de travaux et chaque kit d'outils que vous créez aient accès aux données système communes. Les kits d'outils système fournissent les catégories de variables suivantes :
- Types de base
- Les types de base vous permettent de créer des types de variable personnalisés appelés des objets métier. Pour une liste de tous les types de base, voir le tableau ci-dessous.
- Types système
- Les types de système reçoivent des types de variable qui ne peuvent pas être modifiés. Pour obtenir la liste de tous les types de système, voir JavaScript API in processes and service flows.
| Types de base | Description |
|---|---|
String |
La variable accepte les caractères alphanumériques |
Integer |
La variable accepte les nombres entiers (sans valeur décimale), dans la plage de -2147483648 à
2147483647, tels que 45 ou 20 |
Decimal |
La variable accepte les chiffres avec décimales avec double précision IEEE 754, tels que 45.3 ou 20.13 |
Date |
La variable accepte les formats de date et d'heure |
Time |
La variable accepte l'entrée des formats de date sous forme d'heure. L'utilisateur entre une heure qui, avant transmission de la variable dans la table des symboles, est convertie en date. |
Selection |
Permet de fournir à un utilisateur une liste des entrées possibles dans laquelle il ne peut en sélectionner qu'une. Une sélection est une liste de différentes valeurs, chaque valeur étant une chaîne. En phase d'exécution, une variable de sélection s'affiche sur un formulaire coach sous forme de liste ou de boutons radio. |
Boolean |
La variable accepte la valeur true ou false. La valeur booléenne s'affiche en phase d'exécution sur un formulaire coach sous forme de case à cocher. |
Structure |
Pour utiliser un type de structure, vous devez créer un type de structure personnalisé et en définir les propriétés. Une structure regroupe des données métier relatives à un même sujet. Par exemple, une structure Customer
peut contenir des éléments tels que lastName, firstName, homeNumber, streetAddress. |
Types de variable personnalisés
Les types de variable personnalisés sont définis à l'aide d'objets métier. Si les objets métier prédéfinis contenus dans les kits d'outils système ne correspondent pas à vos besoins, vous pouvez créer vos propres objets. Pour plus d'informations sur les objets métier généraux fournis dans la boîte à outils Données système, voir Boîte à outils Données système.
- Validation pour les types de variables personnalisés
- Vous pouvez définir des paramètres de validation pour les types de variables personnalisés qui utilisent une définition de type simple. Ces règles de validation sont vérifiées dans les situations suivantes :
- Lorsque vous affectez une valeur à une variable d'un processus ou d'un service de ce type, par exemple lorsqu'un script affecte une valeur à une variable tw.local ou à un mappage de sortie dans lequel un résultat de service est mappé à une variable tw.local , la valeur est validée.
- Validation pour les types de variables personnalisés d'entiers et de décimaux
- Pour les définitions d'objet métier d'entiers et de décimaux, vous pouvez définir des valeurs minimale et maximale pour spécifier une plage. Par exemple, si vous spécifiez la valeur minimale 0 et la valeur maximale 100, toutes deux comprises, vous obtenez un type que vous pouvez utiliser pour une variable où les utilisateurs spécifient un pourcentage qui ne peut pas être négatif ou supérieur à 100 %.
En spécifiant la précision et l'échelle, vous pouvez limiter le nombre décimal et les positions décimales d'un nombre.
Vous indiquez comment les paramètres de validation doivent être interprétés dans la configuration d'objet métier de la configuration du serveur.
Tableau 2. Propriétés de validation de précision et d'échelle Propriétés Type Valeur par défaut Description precision-validation-on-server-enabledBooléen Non Utilisée pour permettre la validation du paramètre de précision quand une variable est définie.
precision-validation-strip-trailing-zerosBooléen Non Utilisée pour supprimer les zéros non significatifs après le séparateur décimal pour que la précision soit validée
precision-validation-typeenum (equals, lessOrEquals) égal à Si cette propriété est définie sur
equal, la précision de la valeur de la variable doit correspondre à ce qui est spécifié dans le type de variable. Si la propriété est définie surlessOrEquals, la précision de la valeur de la variable doit être égale ou inférieure à ce qui est spécifié dans le type de variable.scale-validation-strip-trailing-zerosBooléen Non Utilisée pour supprimer les zéros non significatifs après le séparateur décimal pour que l'échelle soit validée
scale-validation-typeenum (equals, lessOrEquals) égal à Si cette propriété est définie sur
equals, l'échelle de la valeur de la variable doit correspondre à ce qui est spécifié dans le type de variable. Si la propriété est définie surlessOrEquals, l'échelle de la valeur doit être égale ou inférieure à ce qui est spécifié dans le type de variable.
precision-validation-on-server-enabled
sur true mais conservez tous les autres paramètres à leur valeur par défaut, la valeur suivante est valide :- 123.45
- 1234.56 (précision incorrecte, 6 au lieu de 5)
- 12.34 (précision incorrecte, 4 au lieu de 5)
- 12.345 (échelle incorrecte, 3 au lieu de 2)
- 1234.1 (échelle incorrecte, 1 au lieu de 2)
L'expression JavaScript suivante provoque également une erreur de validation, car JavaScript supprime des zéros non significatifs lors de l'exécution avant d'affecter la valeur :
tw.local.variable = 123.40
L'expression JavaScript suivante ne provoque pas d'erreur de validation, car la chaîne est validée correctement, puis est automatiquement convertie en un nombre pour définir la valeur de la variable :
tw.local.variable = "123.40"
totalDigits et
fractionDigits, vous devez définir les options de configuration, comme indiqué dans le tableau suivant :| Paramètre | Type |
|---|---|
precision-validation-on-server-enabled |
Oui |
precision-validation-strip-trailing-zeros |
Oui |
precision-validation-type |
lessOrEquals |
scale-validation-strip-trailing-zeros |
Oui |
scale-validation-type |
lessOrEquals |
- 123.45
- 12.34
- 123.4
- 123
- 1234.56 (précision incorrecte, 6 au lieu d'un maximum de 5)
- 12.345 (échelle incorrecte, 3 au lieu d'un maximum de 2)
Calculs numériques dans les scripts
Vous pouvez utiliser JavaScript pour programmer au sein d'un processus ou d'une étape de service. La double précision est utilisée pour stocker les valeurs numériques des variables.
Lorsque vous effectuez des calculs dans les scripts, veillez aux limites qui peuvent atteindre cette précision. Par exemple, lorsque vous ajoutez 1000.06 + 0.01, le résultat mathématiquement correct est 1000.07. Toutefois, si vous ajoutez les chiffres en JavaScript, le résultat est 1000.0699999999999.
Si vous exigez des calculs mathématiquement corrects, effectuez ces calculs hors du code JavaScript. Par exemple, vous pouvez utiliser les classes BigDecimal et BigInteger pour effectuer des calculs avec une précision totale dans un programme Java™. Si vous devez stocker le résultat avec précision complète dans une variable de processus ou de service, vous pouvez formater le nombre en tant que chaîne et utiliser le type de données Chaîne (String) pour votre variable.
NaN ou Infinity ne peut pas être stockée dans la base de données pour une variable de processus visible dans Workplace. Si vous calculez la valeur de cette variable, assurez-vous que le résultat n'est pas NaN ou Infinity. Autrement, une erreur est écrite dans le fichier SystemOut.log.