VENTES: 1-800-867-1389

Étape 5 : transformation du schéma au format de fichier plat en schéma d'insertion pour la table OrderDetails

Mis à jour: mai 2015

Cette rubrique répertorie les étapes de création d'une Transformation pour mapper le schéma de message en format de fichier plat au schéma d'une opération Insérer sur la table OrderDetails dans SQL Server. Avant de créer une Transformation, examinons les deux schémas, puis essayons de comprendre ce qui doit être fait dans le cadre de la Transformation.

Voici un instantané des deux schémas :

Schémas de fichiers plats et schémas d'insertion

Le tableau suivant répertorie les exigences de mappage et les Opération de mappages accomplies :

 

Que mapper ? Procédure

Le nœud OrderId dans le schéma source mappe directement au nœud OrderId dans le schéma de destination.

Vous connectez directement les deux nœuds dans les deux schémas.

Étant donné que le nœud OrderDetails dans le schéma au format de fichier plat est un nœud répété, toutes les valeurs du nœud Quantity doivent être ajoutées, et la valeur cumulée doit être transmise au nœud QuantityOrdered dans le schéma de destination.

Vous connectez les nœuds Quantity et QuantityOrdered à l'aide d'une Opération de mappage Somme cumulée.

Le nœud TotalAmount dans le schéma de destination doit contenir la valeur cumulée de l'ensemble (UnitPrice * Quantity).

Pour obtenir des instructions sur la manière de définir cela, consultez Pour mapper à l'élément TotalAmount

  1. Dans Visual Studio, cliquez avec le bouton droit sur le projet FTP_EAI_Tutorial, pointez sur Ajouter, puis cliquez sur Nouvel élément.

  2. Dans Ajouter un nouvel élément, sélectionnez Mapper, entrez le nom de mappage Map.trfm, puis cliquez sur OK.

  3. Dans l'Explorateur de solutions, double-cliquez sur le fichier Map.trfm pour ouvrir la Transformation. Dans l'aire de conception de Transformation, définissez le schéma source sur PO.xsd, puis définissez le schéma de destination sur FTPEAITutorial_TableOperation.dbo.OrderDetails.xsd.

  4. Dans la Boîte à outils, dans la catégorie Opérations de liste, glissez-déplacez une Opération de mappage Get Context Property vers l'aire de conception de Transformation. Double-cliquez sur l'Opération de mappage, sélectionnez le signe plus, puis entrez Amount comme nom de membre. Entrez le Type de membre comme Nombre, puis cliquez sur OK.

    Ce faisant, vous créez une variable en mémoire appelée Amount.

  5. Dans une Opération de mappage Liste, ajoutez une Opération de mappage ForEach Loop, puis connectez-la à l'élément OrderDetails dans le schéma source. Cela est nécessaire, car l'élément OrderDetails est répété dans le schéma de message.

  6. Dans une Opération de mappage ForEach Loop, ajoutez une Opération de mappage Expression arithmétique . Connectez les éléments UnitPrice et Quantity du schéma source à cette Opération de mappage. Double-cliquez sur l'Opération de mappage pour ouvrir la boîte de dialogue Configurer une Expression arithmétique, puis, dans la zone Entrer une expression arithmétique, tapez UnitPrice * Quantity.

  7. À ce stade, nous avons calculé la valeur de UnitPrice * Quantity pour chaque itération de l'élément OrderDetails. Nous devons maintenant affecter cette valeur à la variable Amount que nous avons créée dans le cadre de l'opération Liste. Pour ce faire, nous incluons une opération Ajouter un élément à la liste opération dans l'opération ForEach Loop, puis la connectons à l'opération Expression arithmétique. Cela affecte la valeur de l'Opération de mappage Expression arithmétique (UnitPrice * Quantity) à la variable Amount créée dans le cadre de l'opération Liste.

  8. De nombreuses variables peuvent être définies pour une opération Liste. Bien que notre didacticiel n'ait qu'une seule variable (Amount) définie, nous devons encore configurer la Transformation pour choisir cette variable. Pour ce faire, nous utilisons l'Opération de mappage Sélectionner des entrées.

    Glissez -déplacez l'Opération de mappage Sélectionner écritures vers l'aire de conception, puis connectez-la à l'opération Créer une liste. Double-cliquez sur l'Opération de mappage Sélectionner des entrées pour ouvrir la boîte de dialogue Configurer des entrées sélectionnées, puis, dans la zone Sélectionner des membres, activez la case à cocher en regard de Amount.

  9. Nous devons maintenant effectuer une somme cumulée de la valeur de la variable Amount. Par conséquent, nous ajoutons une Opération de mappage Somme Cumulée et la connectons à l'Opération de mappage Sélectionner des entrées. Double-cliquez sur l'Opération de mappage Somme cumulée, puis, dans la zone de texte, entrez l'expression suivante :

    item.Amount
    

    Nous devez à présent connecter l'Opération de mappage Somme cumulée à l'élément TotalAmount dans le schéma de destination. Voici à quoi la Transformation doit ressembler (uniquement pour le mappage de l'élément TotalAmount dans le schéma de destination) :

    Opération de mappage pour le calcul le montant total

    noteRemarque
    Vous pouvez également consulter le mappage disponible dans l'exemple FTP_EAI_Tutorial à l'adresse http://go.microsoft.com/fwlink/?LinkId=247973.

Voir aussi

Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.
Afficher:
© 2015 Microsoft