Altova MapForce 2024 Enterprise Edition

Exemple : Personnaliser un message EDIFACT

Accueil Préc Haut Suivant

Cet exemple vous montre comment personnaliser des messages EDIFACT de manière à ce que MapForce puisse traiter des formats EDIFACT non-standard ou modifiés. Cet exemple de personnalisation est basé sur la version 19B d'EDIFACT ; les instructions peuvent légèrement varier pour d'autres versions EDIFACT.

 

Vous trouverez un mappage d'échantillon traitant un fichier EDIFACT personnalisé comportant un segment CTA (Contact Information) légèrement étendu du message ORDERS sous : <Documents>\Altova\MapForce2024\MapForceExamples\Tutorial\ExtractCustomEDIFACT.mfd. Veuillez noter que, si vous ouvrez ce mappage avant de suivre les instructions de personnalisation ci-dessous, MapForce ne pourra pas le valider. Cela est dû au fait que le mappage fait référence à une configuration EDIFACT personnalisée qui n'existe pas encore sur votre ordinateur (il sera créé au fil de cet exemple).

 

Le mappage d'exemple lit des données provenant du fichier Orders-Custom.EDI, que vous trouverez dans le répertoire <Documents>\Altova\MapForce2024\MapForceExamples\Tutorial\. Si vous ouvrez ce fichier avec un éditeur de texte, veuillez noter qu'il utilise un segment CTA personnalisé. Concrètement, la ligne 9 contient une entrée Mr et la ligne 11 contient une entrée Mrs:

mf_edifact_customize_01a

Avant de pouvoir mapper des données provenant de fichiers EDI personnalisés comme celui ci-dessus, une configuration EDIFACT personnalisée doit être créée. Dans cet exemple, vous allez personnaliser la configuration EDIFACT par défaut de manière à étendre le segment CTA avec un nouveau champ ce qui accommoderait le titre de la personne. Pour vous simplifier la tâche, vous trouverez le résultat final de la procédure de personnalisation dans le répertoire <Documents>\Altova\MapForce2024\MapForceExamples\Tutorial\, sous la forme d'archive ZIP (EDIFACT.Nanonull.zip). Les instructions ci-dessous partent du principe que vous n'avez pas encore ouvert le fichier ZIP dans le répertoire ..\Program Files\MapForceEDI\.

 

Exigences préalables

Pour achever cet exemple, télécharger tout d'abord l'exécutable "EDIFACT Configuration Files" depuis le Centre de téléchargement Altova (https://www.altova.com/fr/mapforce/download). Assurez-vous de choisir le package applicable à votre version et votre plateforme (32-bit, 64-bit) de MapForce.

 

Le package d'installation contient toutes les versions EDIFACT prises en charge par MapForce, y compris la version "19B" utilisée dans cet exemple. Pour finir l'installation, double-cliquer sur le fichier exécutable téléchargé et suivre les instructions sur votre écran. Une fois l'installation terminée, de nouveaux répertoires correspondant aux versions de configuration EDIFACT installées sont créées dans C:\Program Files\Altova\MapForce2024\MapForceEDI.

 

Si vous exécutez une MapForce 32-bit sur un système d'exploitation 64-bit, ajustez le chemin de répertoire ci-dessus sur C:\Program Files (x86).

 

Créer la collection EDI personnalisée

1.Créer un nouveau répertoire qui stockera votre collection EDI personnalisée, sous le chemin suivant : C:\users\<name>\Documents\Altova\MapForce2024\MapForceEDI\EDIFACT.Nanonull. Le nom "EDIFACT.Nanonull" aide à différencier cette collection EDI personnalisée de celui par défaut installé avec MapForce.

2.Copier les fichiers suivants depuis C:\Program Files\Altova\MapForce2024\MapForceEDI\EDIFACT.2019B sur C:\users\<name>\Documents\Altova\MapForce2024\MapForceEDI\EDIFACT.Nanonull:

 

Admin.Segment

EDI.Collection

EDSD.Segment

Envelope.Config

ISO6346.Codelist

ORDERS.Config

UNCL.Codelist

 

Sauf pour ORDERS.Config, tous ces fichiers sont référencés depuis le fichier Envelope.Config, ils doivent donc être présents dans la collection EDI. Pour plus d'informations concernant l'objectif de chaque fichier, voir Fichiers de Configuration EDI.

 

Le nouveau fichier EDI.Collection devrait maintenant être accessible dans MapForce. Vous pouvez effectuer un test comme suit :

 

1.Lancer MapForce (ou le redémarrer s'il est déjà en marche).

2.Dans le menu Insérer, cliquer sur EDI. En alternative, cliquer sur la touche de la barre d'outils Insérer EDI ic-edi. Un dialogue s'ouvre, affichant une nouvelle collection appelée "EDIFACT.Nanonull".

mf_edifact_customize_01

Note :Vous pouvez aussi créer votre collection EDI personnalisée dans un registre différent, comme décrit dans Créer une Collection EDi personnalisée.

 

Configurer le fichier EDI.Collection

1.Ouvrir le fichier EDI.Collection dans un éditeur XML (Par exemple, XMLSpy).

2.Supprimer tous les éléments "Message", sauf pour le message "ORDERS". Veuillez vous assurer que vous conservez les balises <Messages>.

 

<?xml version="1.0" encoding="UTF-8"?>
<Messages Version="3">
  <Meta>
    <Version>D</Version>
    <Release>198</Release>
    <Agency>UN</Agency>
  </Meta>
  <Root File="Envelope.Config"/>  
  <Message Type="ORDERS" File="ORDERS.Config" Description="Purchase order message"/>  
</Messages>

 

3.Enregistrer le fichier.

 

Si vous exécutez la commande de menu Insérer | EDI, maintenant la collection montre uniquement un type de message : "ORDERS".

mf_edifact_customize_02

 

Personnalisation globale par rapport à personnalisation inline

L'objectif de cet exemple est de redéfinir le segment CTA (Contact Information). Celui-ci consiste en un champ (F3139) et un composite (C056). Afin de stocker les données de titre de civilité (par exemple, "Mr" ou "Mrs"), nous allons ajouter au composite C056 un nouveau champ, appelé X1000. Il existe plusieurs moyens d'effecteur la personnalisation :

 

Globalement, en personnalisant le fichier EDSD.segment. Tous les segments, dans tous les messages qui utilisent composite C056, contiendront/feront référence au nouvel élément.

Inline, en personnalisant le fichier ORDERS.Config. Seul le segment personnalisé (CTA) dans le message actuel contiendra le nouvel élément.

 

Personnalisation globale

Afin de rendre global accessible au nouveau champ X1000, des changements doivent être effectués uniquement au niveau du fichier EDSD.Segment. Tous les segments, dans tous les messages qui utilisent le composite C056, contiendront/ feront référence au nouvel élément.

 

Pour redéfinir le Composite C056 globalement :

 

1.Ouvrir le fichier EDSD.Segment dans un éditeur de texte ou XML, et se rendre sur Config | Éléments | Composite | C056.

<Composite name="C056" info="CONTACT DETAILS">
 <Data ref="F3413" minOccurs="0"/>
 <Data ref="F3412" minOccurs="0"/>
</Composite>

2.Insérer la ligne suivante dans le segment C056, sous "F3412":

 

<Data name="X1000" type="string" maxLength="35" minOccurs="0" info="New Element"/>

 

La définition Composite devrait maintenant ressembler à l'exemple ci-dessous:

<Composite name="C056" info="CONTACT DETAILS">
 <Data ref="F3413" minOccurs="0"/>
 <Data ref="F3412" minOccurs="0"/>

 <Data name="X1000" type="string" maxLength="35" minOccurs="0" info="New Element"/>
</Composite>

Dans la liste de code ci-dessus, le nouveau champ X1000 est défini en utilisant l'attribut "name" contrairement à d'autres champs du segment qui utilisent l'attribut "ref". Les deux autres champs sont définis au début du fichier et sont uniquement référencés à cet endroit.

 

Le nouveau champ X1000 est maintenant disponible pour tous les messages qui utilisent composite C056. Vous pouvez consulter le nouveau champ dans MapForce comme suit :

1.Dans le menu Insérer, cliquer sur EDI. En alternative, cliquer sur la touche de la barre d'outils Insérer EDI ic-edi.

2.Cliquer sur la collection "EDIFACT.Nanonull" et choisir le message ORDERS.

3.Lorsque vous êtes invité à choisir un fichier EDI source, cliquer sur Ignorer. Le composant ORDERS est maintenant visible dans la fenêtre de mappage.

4.Aller à Envelope > Interchange > Group > Message_ORDERS > SG2 > SG5 > CTA > C056).

mf_edifact_customize_04

 

Utiliser le message personnalisé dans des mappages

Si vous avez suivi toutes les instructions ci-dessus, vous pouvez maintenant utiliser la configuration EDIFACT personnalisée dans vos mappages. Un mappage d'exemple qui utilise la configuration EDIFACT personnalisée créée ci-dessus est Orders-Custom-EDI.mfd, disponible dans le dossier <Documents>\Altova\MapForce2024\MapForceExamples\Tutorial\. L'exemple mappage le fichier ORDERS-Custom.EDI dans le schéma Order-EDI. Le champ personnalisé qui a été ajouté dans la structure EDI, X1000, mappe vers l'item Salutation dans le schéma cible.

mf_edifact_customize_05

Pour consulter le résultat de mappage, cliquer sur l'onglet Sortie. Comme prévu, la valeur "Mrs" extraite de l'élément de données personnalisée X1000 du fichier EDIFACT apparaît dans le second champ du fichier CSV ("Salutation").

mf_edifact_customize_06

Comme pour d'autres fichiers de design de mappage dans MapForce, les mappages EDI peuvent être exécutés en-dehors de MapForce également. Par exemple, vous pouvez les déployer dans un autre serveur pour une exécution avec MapForce Server ou FlowForce Server, ou générer un code de programme pour exécuter le mappage. Dans le cadre de cet exemple, si vous choisissez d'exécuter le mappage en générant du code C++, veuillez noter qu'une classe nommée "CX1000Type" est générée, accessible depuis la classe "CC056Type".

© 2017-2023 Altova GmbH