Types de variables

Vous pouvez utiliser les types de variables fournis par les kits d'outils du système, par exemple le kit d'outils Données système, ou créer des objets métier personnalisés, en fonction des exigences des données métier incluses dans votre processus.

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.
Ce tableau fournit des informations sur les objets métier de type base que contiennent les kits d'outils système.
Tableau 1. Types de base fournis
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-enabled Booléen Non

Utilisée pour permettre la validation du paramètre de précision quand une variable est définie.

precision-validation-strip-trailing-zeros Boolé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-type enum (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 sur lessOrEquals, 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-zeros Boolé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-type enum (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 sur lessOrEquals, l'échelle de la valeur doit être égale ou inférieure à ce qui est spécifié dans le type de variable.

L'exemple suivant montre comment vous pouvez définir la valeur de la précision sur 5 et la valeur de l'échelle sur 2 pour un type de variable.
Si vous définissez la propriété 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
Les valeurs non valides sont les suivantes :
  • 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"

Pour utiliser les paramètres de précision et d'échelle comme leurs équivalents de schéma XML totalDigits et fractionDigits, vous devez définir les options de configuration, comme indiqué dans le tableau suivant :
Tableau 3. Paramètres de validation de précision et d'échelle équivalents aux classes de schéma XML totalDigits et fractionDigits
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
Le même type de variable utilisé dans l'exemple précédent examine ensuite les valeurs suivantes valides :
  • 123.45
  • 12.34
  • 123.4
  • 123
Les valeurs suivantes sont toujours non valides :
  • 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.

Restriction: La valeur 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.