Altova MapForce 2025 Professional Edition

Variables

Inicio Anterior Inicio Siguiente

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).

mf_variable_simple

 

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.

mf_variable_complex_schema

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.

mf_variable_complex_db

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.

mf_variable_simple_duplicated

 

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.

 

Nota:las variables no son compatibles si el lenguaje de transformación de la asignación está configurado como XSLT 1.0.

 

© 2018-2024 Altova GmbH