Cambiar el orden de procesamiento de los componentes

www.altova.com Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Diseño de asignaciones > Reglas y estrategias de asignación de datos >

Cambiar el orden de procesamiento de los componentes

En MapForce pueden diseñarse asignaciones con varios componentes de destino. Cada uno de ellos cuenta con un botón de vista previa que permite consultar el resultado que genera dicho componente.

 

Si la asignación se ejecuta desde la línea de comandos o desde el código generado, entonces se ejecuta toda la asignación (independientemente de qué botón de vista previa esté activo) y se genera el resultado de todos los componentes de destino.

 

El orden en el que se procesan los componentes de destino se puede modificar con solo cambiar la posición de los componentes de destino. La posición de un componente viene definida por la posición de su esquina superior izquierda.

 

Los componentes de destino se procesan de abajo a arriba y de izquierda a derecha:

 

Si hay dos componentes con la misma posición vertical, se procesa primero el situado a la izquierda.
Si hay dos componentes con la misma posición horizontal, se procesa el situado más arriba.
En el caso improbable de que dos componentes tengan una posición idéntica, se usa automáticamente un identificador de componente interno y único que garantiza un orden de procesamiento bien definido, pero inalterable.

 

En la imagen siguiente aparece el tutorial Tut-ExpReport-multi.mfd, situado en la carpeta <Documentos>\Altova\MapForce2019\MapForceExamples\Tutorial\, que tiene dos componentes de destino. Ambos componentes tienen la misma posición vertical y el componente de destino de la derecha tiene activado el botón de vista previa.

Tut-ExpReport-multi-ENT

Tut-ExpReport-multi.mfd (MapForce Enterprise Edition)

Si seleccionamos XSLT2 y generamos el código:

 

Primero se procesa el componente de destino de la izquierda y se genera el archivo ExpReport.xml.
Después se procesa el componente de destino de la derecha y se genera el archivo SecondXML.xml.

 

Para comprobar si éste es el orden de procesamiento abra el archivo DoTransform.bat (situado en la carpeta de salida que se especificara) y consulte la secuencia de los archivos de salida generados. El primer archivo que genera el archivo de procesamiento por lotes es ExpReport-Target.xml y el segundo es SecondXML.xml.

process2

 

Cambiar la secuencia de procesamiento de la asignación:

1.Haga clic en el componente de destino situado a la izquierda y muévalo debajo del situado a la derecha.

Tut-ExpReport-multi-detail-ENT

2.Vuelva a generar el código y consulte otra vez el archivo DoTransform.bat.

process4

 

 Ahora el primer archivo que genera el archivo de procesamiento por lotes es SecondXML.xml y el segundo es ExpReport-Target.xml.

 

Asignaciones en cadena

La misma secuencia de procesamiento que acabamos de describir es la que se sigue en las asignaciones en cadena. El grupo de la asignación en cadena se entienda como unidad indisoluble y, por tanto, si cambiamos la posición del componente intermedio o de destino final de una asignación en cadena, la secuencia de procesamiento no cambia.

 

El único caso en el que la posición de los componentes de destino finales de cada grupo determina qué se procesa primero es cuando una asignación tiene varias cadenas o componentes de destino.

 

Si dos componentes de destino finales tienen la misma posición vertical, se procesa primero el situado a la izquierda.
Si dos componentes de destino finales tienen la misma posición horizontal, se procesa primero el situado más arriba.
En el caso improbable de que dos componentes tengan una posición idéntica, se usa automáticamente un identificador de componente interno y único que garantiza un orden de procesamiento bien definido, pero inalterable.

© 2019 Altova GmbH