Partager via


Fonctoid Index

Le fonctoid Index vous permet de sélectionner des informations à partir d’un enregistrement spécifique dans une série d’enregistrements. Chaque fonctoid Index collecte des informations à partir d’un seul champ.

Certains enregistrements apparaissent généralement plusieurs fois dans un fichier d'entrée. Par exemple, dans un rapport météorologique, l’élément DailySummary peut se produire plusieurs fois. L’élément DailySummary peut inclure des attributs pour la température, la pression barométrique et la vitesse du vent. Le code suivant correspond à un exemple de bulletin météorologique :

<ns0:WeatherReport xmlns:ns0="http://IndexFunctoid.WeatherReport">  
    <DailySummary Pressure="80" Windspeed="10" Temperature="20" />  
    <DailySummary Pressure="78" Windspeed="20" Temperature="23" />  
    <DailySummary Pressure="77" Windspeed="16" Temperature="24" />  
</ns0:WeatherReport>  

Dans le schéma sous-jacent, la propriété Max Occurs pour l’enregistrement DailySummary est définie sur non liée pour indiquer un enregistrement périodique ou en boucle. Le Mappeur BizTalk compile cet enregistrement en tant que boucle.

Supposons que vous souhaitiez collecter des informations météorologiques pour les deux premiers enregistrements DailySummary du rapport météorologique. Dans BizTalk Mapper, chaque attribut de l’enregistrement DailySummary du schéma source entrant peut être connecté à un fonctoid Index . À son tour, chaque fonctoid Index peut spécifier l’enregistrement DailySummary à partir duquel dessiner les informations : le premier ou le deuxième. Les fonctoids d’index peuvent ensuite être connectés aux champs appropriés du schéma de destination.

La figure suivante montre les fonctoids d’index utilisés de cette façon.

Image montrant des fonctoids d’index connectés aux champs appropriés du schéma de destination.
Exemple de fonctoid Index

Pour obtenir les informations récapitulatives quotidiennes du premier jour, l’ensemble supérieur de trois fonctoids d’index a les valeurs d’index définies sur 1. Pour obtenir les informations récapitulatives quotidiennes du deuxième jour, l’ensemble inférieur de trois fonctoids d’index a ses valeurs d’index définies sur 2.

Les fonctoids d’index utilisent la boîte de dialogue Configurer <le fonctoid> pour définir leurs paramètres d’entrée. Le premier paramètre d'entrée indique un champ au sein d'un enregistrement de boucle dans le schéma source. Le deuxième paramètre ainsi que les suivants précisent l'enregistrement particulier. Vous pouvez spécifier plusieurs valeurs d’index pour sélectionner un enregistrement au sein de structures répétées imbriquées. La valeur d’index pour la structure la plus profonde correspond au deuxième paramètre. La valeur d’index de la structure la plus externe correspond au troisième paramètre, et ainsi de suite. Par exemple, supposons que les enregistrements DailySummary précédents se trouvaient dans les enregistrements WeeklyData . Pour récupérer la pression du premier DailySummary dans le deuxième WeeklyData, le deuxième paramètre est 1 et le troisième paramètre est 2.

Notez que cet exemple suppose que le champ Pression ne se répète pas. Si le champ se répétait, les index seraient désactivés : le nombre commencerait par le champ Pression , plutôt que par le résumé quotidien.

Notes

Même si un paramètre d’entrée de séquence d’index est généralement constant, il est possible d’utiliser un lien provenant d’un nœud dans le schéma source. Si le lien vient d’un enregistrement de boucle qui n’est pas un parent du premier paramètre d’entrée, la valeur d’entrée de la séquence d’index vient de la première instance du nœud dans le message d'instance d'entrée.

Notes

La valeur de l’entrée de séquence d’index est toujours en rapport avec le contexte actuel du document source.

Important

Un fonctoid d’index doit avoir autant de valeurs d’index qu’il existe de nœuds parents du niveau de champ au premier niveau sous le nœud racine. Par exemple, dans le message d’instance du bulletin météorologique multiple, deux valeurs d'index sont nécessaires. Dans le message d’instance du bulletin météorologique unique, une seule valeur d'index est nécessaire. Le fait de ne pas définir le nombre requis de valeurs d’index d’un fonctoid Index crée une sortie basée sur le premier nœud du instance message source qui correspond au premier paramètre d’entrée du fonctoid Index.

Voir aussi

Ajout de fonctoids Index à un mappage
Fonctoids avancés
Fonctoid Itération
Fonctoid Nombre d’enregistrements