Tipos de variable

Puede utilizar los tipos de variable proporcionados por el kit de herramientas de Datos de sistema o puede crear objetos de negocio personalizados, en función de los requisitos de los datos de negocio incluidos en el proceso.

Los kits de herramientas del sistema se proporcionan en Business Automation Studio para que cada automatización de flujo de trabajo y kit de herramientas que cree tenga acceso a los datos comunes del sistema. Los kits de herramientas proporcionan las siguientes categorías de variables:

Tipos base
Los tipos base le permiten crear tipos de variable personalizados denominados objetos de negocio. Para obtener una lista de todos los tipos base, consulte la tabla siguiente.
Tipos de sistema
Los tipos de sistema son tipos de variable proporcionados que no se pueden modificar. Para obtener una lista de todos los tipos de sistema, consulte APIJavaScript en procesos y flujos de servicios.
Esta tabla proporciona más información acerca de los objetos de negocios de tipo base proporcionados en los kits de herramientas del sistema.
Tabla 1. Tipos base proporcionados
Tipos base Descripción
String Permite que se entren caracteres alfanuméricos en la variable
Integer Acepta dígitos sin posición decimal dentro del rango -2147483648 hasta 2147483647, por ejemplo 45 o 20
Decimal Acepta dígitos con posiciones decimales con precisión doble IEEE 754, por ejemplo, 45.3 o 20.13
Date Permite que se entren formatos de fecha y hora en la variable
Time Permite que se entren formatos de fecha en la variable. El usuario entra una hora y, antes de que se entre la variable en la tabla de símbolos, ésta se convierte en una fecha.
Selection Le permite proporcionar al usuario una lista de entradas posibles, de las que el usuario puede seleccionar solamente una. Una selección es una lista de diferentes valores; cada valor es una serie. En tiempo de ejecución, aparece una variable de selección en un formulario de coach como una lista o como botones de selección.
Boolean Acepta true o false como valores. El valor booleano aparece en tiempo de ejecución en un formulario de coach como un recuadro de selección.
Structure Para utilizar un tipo de estructura, debe crear un tipo de estructura personalizada y definir las propiedades. Una estructura reagrupa los datos de negocio que están relacionados con el mismo tema. Por ejemplo, una estructura Customer puede contener elementos como lastName, firstName, homeNumber, streetAddress.

Tipos de variable personalizados

Los tipos de variables personalizados se definen utilizando objetos de negocio. Si los objetos de negocio predefinidos que se proporcionan en los kits de herramientas del sistema no representan sus necesidades, puede crear sus propios objetos de negocio. Para obtener más información sobre los objetos de negocio generales proporcionados en el kit de herramientas de datos del sistema, consulte Kit de herramientas de datos del sistema.

Validación de tipos de variables personalizados
Puede definir valores de validación para los tipos de variables personalizados que utilizan una definición de tipo simple. Estas reglas de validación se comprueban en las situaciones siguientes:
  • Cuando asigna un valor a una variable en un proceso o servicio de este tipo, como cuando un script asigna un valor a una variable tw.local o una correlación de salida donde un resultado de servicio se correlaciona con una variable tw.local , el valor se valida.
Validación de tipos de variables personalizadas de entero y decimal
En el caso de las definiciones de objetos de negocio con enteros y decimales, puede definir valores mínimos y máximos para especificar un rango. Por ejemplo, si especifica un valor mínimo de 0 y un valor máximo de 100, ambos inclusive, tiene un tipo que se puede utilizar para una variable en la que los usuarios especifican un porcentaje que no puede ser negativo ni superior al 100%.

Si especifica la precisión y la escala, puede restringir el número decimal y las posiciones decimales de un número.

Especifique cómo se deben interpretar los valores de validación en la configuración de objetos de negocio de la configuración del servidor.

Tabla 2. Propiedades de la validación de precisión y escala
Propiedades Tipo Valor predeterminado Descripción
precision-validation-on-server-enabled Booleano falso

Se utiliza para habilitar la validación del valor de precisión cuando se establece una variable.

precision-validation-strip-trailing-zeros Booleano falso

Se utiliza para eliminar los ceros de cola después de la coma decimal antes de que se valide la precisión

precision-validation-type enum (equals, lessOrEquals) es igual a

Si esta propiedad se establece en equal, la precisión del valor de la variable debe ser igual a lo que se ha especificado en el tipo de variable. Si se estable la propiedad en lessOrEquals, la precisión del valor de la variable debe ser igual o menor que lo que se ha especificado en el tipo de variable.

scale-validation-strip-trailing-zeros Booleano falso

Se utiliza para eliminar los ceros de cola después de la coma decimal antes de que se valide la escala

scale-validation-type enum (equals, lessOrEquals) es igual a

Si esta propiedad se establece en equals, la escala del valor de la variable debe ser igual a lo que se ha especificado en el tipo de variable. Si se estable la propiedad en lessOrEquals, la escala del valor debe ser igual o menor que lo que se ha especificado en el tipo de variable.

El ejemplo siguiente muestra cómo puede establecer el valor de precisión en 5 y el valor de escala en 2 para un tipo de variable.
Si establece la propiedad precision-validation-on-server-enabled en true pero conserva todos los otros valores en su valor predeterminado, el siguiente valor es válido:
  • 123.45
Los siguientes valores no son válidos:
  • 1234.56 (precisión errónea, 6 en lugar de 5)
  • 12.34 (precisión errónea, 4 en lugar de 5)
  • 12.345 (escala errónea, 3 en lugar de 2)
  • 1234.1 (escala errónea, 1 en lugar de 2)

La siguiente expresión JavaScript también genera un error de validación debido a que JavaScript elimina los ceros de cola durante la ejecución antes de asignar el valor:

tw.local.variable = 123.40

La siguiente expresión JavaScript no genera un error de validación debido a que la serie se valida correctamente y, a continuación, se convierte automáticamente en un número para establecer el valor de la variable:

tw.local.variable = "123.40"

Para utilizar los valores de precisión y escala como sus equivalentes del esquema XML, totalDigits y fractionDigits, debe establecer los distintivos de configuración, tal como se muestra en la tabla siguiente:
Tabla 3. Valores de validación de precisión y escala equivalentes a las clases totalDigits y fractionDigits del esquema XML
Valor Tipo
precision-validation-on-server-enabled verdadero
precision-validation-strip-trailing-zeros verdadero
precision-validation-type lessOrEquals
scale-validation-strip-trailing-zeros verdadero
scale-validation-type lessOrEquals
Se utiliza el mismo tipo de valor que en el ejemplo siguiente y, a continuación, se consideran válidos los valores siguientes:
  • 123.45
  • 12.34
  • 123.4
  • 123
Los siguientes valores continúan siendo no válidos:
  • 1234.56 (precisión errónea, 6 en lugar de un máximo de 5)
  • 12.345 (escala errónea, 3 en lugar de un máximo de 2)

Cálculos numéricos en los scripts

Puede utilizar JavaScript para programar dentro de un proceso o paso de servicio. La precisión doble se utiliza para almacenar valores numéricos para variables.

Cuando realice los cálculos en los scripts, preste atención a los límites que impone esta precisión. Por ejemplo, si suma 1000.06 + 0.01, el resultado matemático correcto es 1000.07. Sin embargo, si suma los números en JavaScript, el resultado es 1000.0699999999999.

Si necesita corregir matemáticamente los cálculos, realice estos cálculos fuera del código JavaScript. Por ejemplo, puede utilizar las clases BigDecimal y BigInteger para realizar cálculos con precisión completa en un programa Java. Si debe almacenar el resultado con la precisión completa en una variable de proceso o de servicio, puede formatear el número como una serie y utilizar el tipo de datos de serie para su variable.

Restricción: Un valor de NaN o Infinity no se puede almacenar en la base de datos para una variable de proceso que sea visible en Workplace. Si calcula el valor de la variable, asegúrese de que el resultado no sea NaN ni Infinity; de lo contrario, se escribirá un error en el archivo SystemOut.log.