Altova MapForce 2027 Professional Edition

Cet exemple vous montre comment combiner les données renvoyées par une procédure stockée avec celles d'une table de la même base de données, à l'aide de relations locales.

 

Si vous ne l'avez pas déjà fait dans un exemple précédent, exécutez le script suivant pour créer la procédure stockée de démonstration dans la base de données « AdventureWorks ». Vous pouvez effectuer cette opération à partir d’une fenêtre de requête de Microsoft SQL Server Management Studio, ou directement depuis le volet Requête BD de MapForce ; voir Parcourir et interroger des bases de données. Dans les deux cas, assurez-vous que votre compte utilisateur de base de données dispose des autorisations nécessaires pour créer des procédures stockées.

 

CREATE PROCEDURE HumanResources.uspGetAllEmployees
AS
  SELECT LastName, FirstName, JobTitle, Department
  FROM HumanResources.vEmployeeDepartment

 

La procédure stockée ci-dessus renvoie des informations sur les employés à partir de la vue vEmployeeDepartment. Les étapes suivantes vous montrent comment créer un mappage qui consomme des données retournées par cette procédure.

 

1.Connectez-vous à la base de données « AdventureWorks » depuis MapForce, comme décrit dans la section Ajouter des procédures stockées dans le mappage. Assurez-vous que votre compte d'utilisateur de base de données détient la permission de créer des procédures stockées.

2.Lorsque vous êtes invité à choisir des objets de base de données, sélectionnez la table Department et la procédure stockée uspGetAllEmployees.

mf_sp_20

3.Cliquez sur le bouton Afficher Menu contextuel mf_ic_storedproc_menu à côté de la procédure stockée, puis sélectionnez Afficher Nœuds comme Source.

4.Cliquez à nouveau sur le bouton Afficher Menu contextuel mf_ic_storedproc_menu et sélectionnez Modifier structures des jeux d'enregistrements. Le dialogue « Structures jeux d'enregistrements » apparaît.

5.Cliquez sur Définir paramètres d'entrée et appeler procédure. Le dialogue « Évaluer procédure stockée » apparaît.

mf_sp_06

6.Cliquez sur Exécuter, puis sur OK. La structure du jeu d'enregistrements (« RS1 ») est désormais visible à la fois dans le dialogue « Structures des jeux d'enregistrements » et dans le mappage.

mf_sp_21

 

Définir les relations locales

Définissons maintenant une relation locale entre la colonne Department du jeu d’enregistrements renvoyé et la colonne Name de la table Department.

 

1.Cliquez avec le bouton droit sur la barre de titre du composant de base de données et sélectionnez Ajouter/Supprimer/Éditer des objets de base de données dans le menu contextuel.

2.Cliquez sur Ajouter/Éditer relations, puis sur Ajouter relation. Définissez les relations comme indiqué ci-dessous.

mf_sp_22

3.Cliquez sur OK pour fermer le dialogue. Notez que la table Department est désormais une table enfant de l’ensemble d’enregistrements RS1.

mf_sp_23

 

Terminer le mappage

Grâce à la relation qui vient d’être créée, il est désormais possible de mapper les données de l’ensemble d’enregistrements combinées aux données de la table. Dans le cadre de cet exemple, écrivons des données dans un fichier XML cible, comme suit :

 

1.Dans le menu Insérer, cliquez sur Fichier/schéma XML, et sélectionnez le fichier suivant : <Documents>\Altova\MapForce2027\MapForceExamples\EmployeesWithDetails.xsd.

2.Lorsque vous êtes invité à fournir un exemple de fichier d’instance XML, cliquez sur Ignorer.

3.Tracer les connexions de mappage comme indiqué ci-dessous.

mf_sp_24

Le mappage illustré ci-dessus écrit les données de la base de données dans un fichier XML cible. Les données source sont une combinaison de données extraites par la procédure stockée et de données extraites directement d’une table. Le mappage utilise la fonction concat pour générer une chaîne de caractères comprenant le nom du service, suivi d’un tiret, puis du nom du groupe.

 

Pour prévisualiser le mappage, cliquez sur le bouton Sortie et observez le résultat du mappage dans le volet Sortie, par exemple :

mf_sp_25

© 2020-2026 Altova GmbH