Tipos de variable
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.
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 enlessOrEquals
, 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 enlessOrEquals
, la escala del valor debe ser igual o menor que lo que se ha especificado en el tipo de variable.
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
- 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"
totalDigits
y fractionDigits
, debe establecer los distintivos de configuración, tal como se muestra en la tabla siguiente: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 |
- 123.45
- 12.34
- 123.4
- 123
- 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.
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.