Altova MapForce 2023 Enterprise Edition

Reglas y estrategias de asignación

Inicio Anterior Inicio Siguiente

Por lo general, MapForce asigna los datos de manera intuitiva, pero puede que encuentre situaciones en las que los resultados contengan demasiados o demasiados pocos elementos. En este apartado le explicaremos cómo evitar situaciones en las que la asignación genera un resultado no deseado debido a conexiones o un contexto de asignación incorrectos.

 

Reglas de asignación

Para que una asignación sea válida, esta debe incluir al menos un componente de entrada y uno de salida. Un componente de entrada es aquel que lee datos, normalmente de un archivo o de una base de datos. Un componente de destino es el que escribe datos, normalmente en un archivo o en una base de datos. Si intenta guardar una asignación que no cumpla estos requisitos aparece un error en la ventana Mensajes: "Una asignación necesita tener al menos dos estructuras conectadas, por ejemplo un esquema o una estructura de BD".

 

Para crear una asignación de datos debe trazar las conexiones entre los elementos de los componentes de entrada y de salida.

 

Todas las conexiones de asignación que trace conforman el algoritmo de asignación. En el momento de la ejecución, MapForce evalúa el algoritmo y procesa los datos basándose en él. La integridad y la eficiencia del algoritmo de asignación depende principalmente de estas conexiones. También puede adaptar algunas opciones a nivel de asignación, de componente o incluso de conexión, pero básicamente son las conexiones de la asignación las que determinan cómo se procesan los datos.

 

Tenga en cuenta estas reglas al crear las conexiones:

 

1.Al trazar una conexión desde un elemento de entrada, la asignación lee datos asociados a él en el archivo o la BD de entrada. Los datos pueden aparecer ninguna vez, una o varias veces (es decir, pueden ser una secuencia, como se describe a continuación). Por ejemplo, si la asignación lee datos de un archivo XML que contiene libros, el archivo XML de entrada puede contener ninguno, uno o varios elementos book. En la asignación siguiente, observe que el elemento book aparece solamente una vez en el componente de la asignación, aunque puede que el archivo (de instancia) de origen contenga varios elementos book o ninguno.

mfdBooksToLibrary-BAS

2.Al trazar una conexión a un elemento de destino, la asignación genera datos de instancia de esa clase. Si el elemento de entrada contiene contenido simple (por ejemplo, una cadena o un número entero) y el elemento de destino acepta contenido simple, entonces MapForce copia el contenido al elemento de destino y, si lo necesita, convierte el tipo de datos. Se pueden generar ningún valor, uno o varios en función de los datos de entrada (véase el punto siguiente).

3.Para cada elemento (de instancia) en el origen se crea un elemento (de instancia) en el destino. Esta es la regla general de asignación en MapForce. Si tomamos como ejemplo la asignación anterior, si el XML de origen contiene tres elementos book, entonces se crean tres elementos publication en el lado de destino. Tenga en cuenta que también existen algunos casos especiales (véase el apartado Secuencias).

4.Cada conexión crea un contexto actual de asignación. El contexto determina qué datos están disponibles en el momento actual para el nodo de destino actual. Por lo tanto, el contexto determina qué elementos de origen se copian de en el componente de destino. Al trazar u omitir una conexión puede cambiar el contexto actual sin querer, lo que afectaría al resultado de la asignación. Por ejemplo, puede que la asignación en la que está trabajando haga varias llamadas innecesarias a una BD o a un servicio web dentro de la misma ejecución de la asignación. Este concepto se describe con más detalle en Contexto de la asignación.

© 2017-2023 Altova GmbH