Relaciones locales en componentes de origen
En este ejemplo explicamos cómo combinar datos devueltos por un procedimiento almacenado con datos de una tabla de la misma base de datos, con ayuda de las relaciones locales.
Si no lo hizo ya con el ejemplo anterior, ejecute el script siguiente para crear el procedimiento almacenado de ejemplo en la base de datos "AdventureWorks". Puede hacerlo desde una ventana de consultas de la aplicación de Microsoft SQL Server Management Studio o directamente desde la pestaña Consulta de la BD de MapForce (consulte Examinar y consultar bases de datos). En ambos casos, asegúrese de que su cuenta de usuario de la base de datos tiene permisos para crear procedimientos almacenados.
CREATE PROCEDURE HumanResources.uspGetAllEmployees |
El procedimiento almacenado anterior devuelve información sobre los empleados a partir de la vista vEmployeeDepartment. Los siguientes pasos explican cómo crear una asignación que consuma fatos devueltos por este procedimiento.
1.Conéctese a la BD "AdventureWorks" desde MapForce como se describe en el apartado Agregar procedimientos almacenados a la asignación. Asegúrese de que su cuenta de usuario de la base de datos tiene permisos para ver y ejecutar procedimientos almacenados.
2.Cuando la aplicación solicite que elija los objetos de BD, seleccione la tabla Department y el procedimiento almacenado uspGetAllEmployees.

3.Haga clic en el botón Mostrar menú contextual
que hay junto al procedimiento almacenado y seleccione Mostrar nodos como origen.
4.Haga clic otra vez en el botón Mostrar menú contextual
y seleccione Editar estructuras de conjuntos de registros. Aparece el cuadro de diálogo Estructuras de conjuntos de registros.
5.Haga clic en Definir parámetros de entrada y llamar al procedimiento. Aparecerá el cuadro de diálogo Evaluar procedimiento almacenado.

6.Haga clic en Ejecutar y después en Aceptar. La estructura del conjunto de registros ("RS1") ahora es visible tanto en el cuadro de diálogo "Estructuras de conjuntos de registros" como en la asignación.

Definir relaciones locales
Ahora vamos a definir una relación local entre la columna Department del conjunto de registros devuelto y la columna Name de la tabla Department.
1.Haga clic con el botón derecho en la barra de título del componente de BD y seleccione Agregar/Editar/Quitar objetos de BD en el menú contextual.
2.Haga clic en Agregar o editar relaciones y después en Agregar relación. Defina las relaciones como se muestra a continuación.

3.Haga clic en Aceptar para cerrar el cuadro de diálogo. Observe que la tabla Department ahora se ha convertido en un secundario del conjunto de registros RS1.

Completar la asignación
Gracias a la relación que acabamos de crear ahora podemos asignar datos del conjunto de registros en combinación con datos de la tabla. Para este ejemplo vamos a escribir datos en un archivo XML de destino:
1.En el menú Insertar, haga clic en Archivo o esquema XML y seleccione el siguiente archivo: <Documentos>\Altova\MapForce2027\MapForceExamples\EmployeesWithDetails.xsd.
2.Cuando se le solicite que proporcione un archivo de instancia XML de ejemplo, haga clic en Omitir.
3.Dibuje las conexiones que aparecen en la imagen siguiente.

La asignación de la imagen anterior escribe datos de la base de datos en un archivo XML de destino. Los datos de origen son una combinación de datos extraídos por el procedimiento almacenado con datos extraídos directamente de una tabla. La asignación usa la función concat para generar una cadena de texto que contenga el nombre del departamento seguido por un guion, seguido por el nombre del grupo.
Para generar una vista previa de la asignación, haga clic en el botón Resultados y observe el resultado de la asignación en el panel Resultados, por ejemplo:
