Variables
Una variable es un tipo especial de componente que sirve para almacenar el resultado intermedio de una asignación de datos para procesarlo más tarde. Las variables pueden ser de tipo simple (por ejemplo, string, integer, boolean, etc.) y de tipo complejo (una estructura jerárquica). Puede ver ejemplos de ambos tipos en los apartados siguientes.
Una de las cosas más importantes de las variables es que son secuencias y que pueden utilizarse para crear secuencias. El término secuencia significa una lista de cero o más elementos. Esto hace posible que una variable procese varios elementos durante el tiempo de vida de la asignación. Para más información, consulte también Reglas y estrategias de asignación. Sin embargo, también es posible asignar un valor a una variable una vez y mantener este valor igual para el resto de la asignación. Para más detalles, consulte Cambiar el contexto y ámbito de las variables.
Para más detalles sobre cómo agregar una variable a una asignación, consulte Agregar variables.
Variables simples
Las variables simples se generan para representar tipos atómicos como cadenas de texto, números y elementos booleanos (imagen siguiente).
Variables complejas
Las variables complejas tienen una estructura jerárquica. Las estructuras en las que puede basarse una variable compleja se resumen en la siguiente lista.
MapForce Basic Edition:
•Estructura de XML Schema
MapForce Professional Edition:
•Estructura de XML Schema
•Estructura de BD
MapForce Enterprise Edition:
•Estructura de XML Schema
•Estructura de BD
•Estructura EDI
•Estructura FlexText
•Estructura de JSON Schema
Ejemplo 1: variable basada en un esquema XML
Puede crear una variable compleja suministrando un esquema XML que defina la estructura de la variable (imagen siguiente). Si el esquema define algún elemento de forma global, puede elegir cuál debe convertirse en el nodo raíz de la estructura variable. Tenga en cuenta que una variable no tiene asociado un archivo XML de instancia. Los datos de la variable se calculan en tiempo de ejecución de la asignación.
Ejemplo 2: variable basada en una base de datos (MapForce Professional y Enterprise Editions)
Si elige una estructura de base de datos para su variable (imagen siguiente), puede elegir una tabla específica de la base de datos como elemento raíz de la estructura de la variable. MapForce le permite crear variables basadas en BD con una estructura de tablas relacionadas.
La estructura de tablas relacionadas representa una estructura en memoria que no tiene conexión con la BD en tiempo de ejecución. La variable solo describe la estructura, pero no hace nada con los datos. Esto supone lo siguiente:
•No hay validación basada en el tipo de datos
•No hay posibilidad de utilizar el filtro SQL WHERE
•No hay acciones de tabla en parámetros ni variables
•No hay control automático de las claves foráneas
•No hay comprobaciones de clave primaria/foránea
Compute-when
En los dos ejemplos anteriores, cada variable tiene un elemento llamado compute-when. La conexión de este elemento es opcional: esto le permite controlar cómo debe calcularse el valor de la variable en la asignación. Para más detalles, consulte Cambiar el contexto y ámbito de las variables.
Variables con entradas duplicadas
Cuando sea necesario, los elementos de una estructura variable pueden duplicarse para aceptar datos de más de una conexión de origen. Esto es similar a la duplicación de entradas en componentes estándar. En la imagen siguiente puede ver un ejemplo de variable simple con entradas duplicadas.
Asignaciones en cadena frente a variables
Las variables pueden equipararse a los componentes intermedios de una asignación en cadena. Sin embargo, son mucho más flexibles y prácticas cuando no se necesita generar archivos intermedios en cada fase de la asignación. A continuación, se explican las diferencias que existen entre las variables y las asignaciones en cadena.
Asignaciones encadenadas | Variables |
---|---|
Las asignaciones en cadena se desarrollan en dos fases totalmente independientes. Por ejemplo, imaginemos que una asignación tiene tres componentes llamados A, B y C. La ejecución de la asignación se desarrolla en dos fases: la ejecución de la asignación desde A hasta B y la ejecución de la asignación desde B hasta C. | Mientras se ejecuta la asignación, las variables se evalúan en función de su contexto y su ámbito. Para más detalles, consulte Cambiar el contexto y ámbito de las variables. |
Cuando se ejecuta la asignación, los resultados intermedios se almacenan de forma externa en archivos.
| Cuando se ejecuta la asignación, los resultados intermedios se almacenan de forma internan. No se producen archivos externos con los resultados de la variable. |
Con el botón de vista previa se puede consultar la vista previa del resultado intermedio. | No se puede consultar la vista previa del resultado de una variable porque éste se calcula en tiempo de ejecución. Sin embargo, puede utilizar el depurador para ver los datos producidos por la variable. |
Nota: | las variables no son compatibles si el lenguaje de transformación de la asignación está configurado como XSLT 1.0. |