Altova MapForce 2024 Enterprise Edition

Répartir des entrées fusionnées en plusieurs nœuds

Accueil Préc Haut Suivant

Certains éléments de données dans les fichiers de configuration EDI fournis par défaut avec MapForce sont configurés pour n'afficher qu'un seul nœud dans le mappage, même si l'élément de données correspondant peut se produire plusieurs fois dans le fichier source EDI (voir aussi Gérer plusieurs éléments de données consécutifs ). Un exemple d'un tel élément de donnée est F3036 du standard UN/EDIFACT. Conformément à la spécification, F3036 peut se produire jusqu'à cinq fois consécutivement dans le composite C080 ("Party name") (voir https://www.unece.org/fileadmin/DAM/trade/untdid/d15b/trcd/trcdc080.htm).

 

Dans la collection par défaut UN/EDIFACT de MapForce, l'élément de données F3036 est représenté par un seul nœud dans le mappage. Si vous tracez une connexion de mappage depuis ce nœud vers un nœud cible, alors la connexion créera autant d'items dans la cible qu'il existe d'occurrences de F3036 dans la source. (Cela suit la règle de base des connexions MapForce, pour chaque item dans la source, créer un item dans la cible). Néanmoins, il peut exister des situations où cela n'est pas le résultat désiré, et où vous nécessitez des nœuds séparés pour chaque occurrence de l'élément de données.

 

L'objectif de l'exemple est donc de créer une configuration UN/EDIFACT personnalisée qui afficherait des nœuds de mappage séparés pour chaque occurrence de F3036. Cela vous permettrait de mapper chaque occurrence individuelle de F3036 dans un nœud cible séparé. Les images ci-dessous montrent le composant de mappage EDIFACT avant et après la personnalisation.

mf_edi_f3036_merged

Avant personnalisation

mf_edi_f3036_unmerged

Après personnalisation

Les étapes pour fractionner l'élément de données F3036 dans plusieurs nœuds de mappage sont les suivantes :

 

1.Créer une collection EDI personnalisée en utilisant la collection UN/EDIFACT existante en tant que point de départ (voir Créer une collection EDI personnalisée). Cela garantit que vos changements ne toucheront pas la configuration EDI par défaut.

2.Ouvrir le fichier EDSD.Segment de votre collection personnalisée dans un éditeur XML. (Si vous souhaitez personnaliser un autre type d'EDI, éditer le fichier .segment correspondant de ce type d'EDI en particulier. Par exemple, pour X12, cela serait le fichier X12.Segment.)

3.Trouver le composite C080 et supprimer l'attribut mergedEntries="5" de l'élément de données F3036.

<Composite name="C080" info="PARTY NAME">
  <Data ref="F3036" mergedEntries="5"/>
  <Data ref="F3045" minOccurs="0"/>
</Composite>

4.Ajouter l'attribut minOccurs="0" à tous les champs sauf le premier. La raison est que, selon le standard UN/EDIFACT, seule la première occurrence du champ est obligatoire ; les autres sont conditionnelles.

5.Saisir un nom de nœud unique pour chaque champ (Par exemple, F3036_1, F3036_2, etc.). À ce niveau, la configuration devrait ressembler à l'exemple ci-dessous :

<Composite name="C080" info="PARTY NAME">
  <Data ref="F3036" nodeName="F3036_1"/>
  <Data ref="F3036" nodeName="F3036_2" minOccurs="0"/>
  <Data ref="F3036" nodeName="F3036_3" minOccurs="0"/>
  <Data ref="F3036" nodeName="F3036_4" minOccurs="0"/>
  <Data ref="F3036" nodeName="F3036_5" minOccurs="0"/>
  <Data ref="F3045" minOccurs="0"/>
</Composite>

6.Enregistrer le fichier EDSD.Segment édité.

 

Vous pouvez maintenant consulter et travailler avec la collection EDI modifiée dans MapForce, comme suit :

 

1.Dans le menu Insérer, cliquer sur EDI.

2.Lorsque vous êtes invité, choisir la collection personnalisée créée précédemment (dans cet exemple, "EDIFACT.Custom").

3.Choisir un type de message qui utilise le segment C080 (dans cet exemple, "ORDERS - Purchase Order Message").

mf_edi_split

 

Le composant EDI est maintenant modifié dans MapForce (chaque occurrence de l'élément de données F3036 contient un nœud séparé dans le mappage).

mf_edi_f3036_unmerged

La technique décrite dans cet exemple peut aussi être utilisée pour répartir les entrées fusionnées pour d'autres éléments de données, quelque soit le genre d'EDI.

© 2017-2023 Altova GmbH