Altova MapForce 2024 Enterprise Edition

Exemple : Personnaliser une transaction ANSI X12

Accueil Préc Haut Suivant

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

 

Vous trouverez un mappage d'échantillon sous : <Documents>\Altova\MapForce2024\MapForceExamples\Tutorial\Orders-Custom-X12.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 collection X12 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.X12, 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 N2 personnalisé. Concrètement, la ligne 6 contient une entrée ++Mrs supplémentaire :

mf_x12_customize_01

Avant de pouvoir mapper des données provenant de fichiers X12 personnalisés comme celui ci-dessus, une configuration X12 personnalisée doit être créée. Dans cet exemple, vous allez personnaliser la configuration X12 par défaut de manière à étendre le segment N2 avec un nouvel élément de données 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 (X12.Nanonull.zip).

 

Exigences préalables

Pour achever cet exemple, télécharger tout d'abord l'exécutable "X12  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 X12 prises en charge par MapForce, y compris la version "6020" 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 X12 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).

 

Configurer les fichiers de personnalisation

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\X12.Nanonull. Le nom "X12.Nanonull" aide à différencier cette  collection EDI personnalisée depuis celle installée par défaut avec MapForce.

2.Copier les fichiers suivants depuis C:\Program Files\Altova\MapForce2024\MapForceEDI\X12.6020 vers C:\users\<name>\Documents\Altova\MapForce2024\MapForceEDI\X12.Nanonull:

 

850.Config

EDI.Collection

Envelope.Config

ParserErrors.Config

X12.Codelist

X12.Segment

 

Pour plus d'informations concernant l'objectif de chaque fichier, voir Fichier de Configuration EDI.

 

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

 

1.Lancer MapForce.

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, comme celui ci-dessous affichant une nouvelle collection appelée ""X12.Nanonull".

mf_x12_customize_02

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 "Purchase orders". Veuillez vous assurer que vous conservez les balises <Messages>.

 

<?xml version="1.0" encoding="UTF-8"?>
<Messages Version="3">
  <Meta>
    <Release>6040</Release>
    <Agency>X12</Agency>
  </Meta>
  <Root File="Envelope.Config"/>
  <Message Type="850" File="850.Config" Description="Purchase Order"/>
</Messages>

 

3.Enregistrer le fichier.

 

Si vous exécutez la commande de menu Insérer | EDI, la collection montre un seul type de message : "850 - Purchase Order".

mf_x12_customize_03

 

 

Personnalisation globale par rapport à personnalisation inline

L'objectif de cet exemple est de redéfinir le segment N2  "Additional Name Information" de manière à ce qu'il contienne un élément de données X1000 permettant de stocker le titre de civilité d'une personne (par exemple, "Mr" ou "Mrs"). Avant la personnalisation, N2 consiste en un seul élément de données, "F93 Name". Il existe plusieurs manières d'effectuer une personnalisation :

 

Globalement, en personnalisant le fichier X12.segment. "Global" signifie que tous les segments, dans toutes les transactions qui utilisent N2 contiendront/feront référence au nouvel élément.

Inline, en personnalisant le fichier 850.Config. "Local" signifie que seul le segment personnalisé (N2) dans la transaction actuelle 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 X12.Segment. Tous les segments, dans toutes les transactions qui utilisent N2, contiendront/ feront référence au nouvel élément.

 

Pour redéfinir le N2 globalement :

 

1.Ouvrir le fichier X12.Segment dans un éditeur de texte ou XML, et se rendre sur Config | Éléments | Segment name="N2".

<Segment name="N2" info="Additional Name Information">
  <Data ref="F93" mergedEntries="2"/>
</Segment>

2.Insérer la ligne suivante sous F93, et enregistrer le fichier.

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

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

<Segment name="N2" info="Additional Name Information">
  <Data ref="F93" mergedEntries="2"/>

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

Notes :

 

Le nouveau champ X1000 est défini en utilisant l'attribut name par opposition aux autres champs du segment qui utilise l'attribut ref. Le champ F93 est défini au début du fichier X12.Segment et est uniquement référencé à cet endroit.

L'attribut mergedEntries de F93 spécifie qu'il peut y avoir deux occurrences consécutives de cet élément portant le même nom. Cela rappelle la définition de ce champ tel qu'il est défini dans la spécification ASC X12. C'est pourquoi, dans le fichier EDI source qui y est personnalisé, le segment N2 ressemble à l'exemple suivant :

N2+Michelle Butler++Mrs'

Dans la ligne ci-dessus, noter les deux séparateurs consécutifs "+" situés entre "Michelle Butler" et "Mrs". L'explication est que le segment N2 consiste en un élément de données "F93" ("Michelle Butler"), suivi d'un séparateur "+", suivi d'un autre élément "F93" (qui est vide), suivi d'un séparateur "+", suivi de l'élément de données "X1000" personnalisé ("Mrs"). Pour plus d'informations concernant l'attribut mergedEntries, voir Gérer plusieurs éléments de données consécutifs.

 

Le nouveau champ X1000 est maintenant disponible pour toutes les transactions qui utilisent le segment N2. 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 "X12.Nanonull" et choisir le message "Purchase orders".

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

4.Cliquer sur l'en-tête de composant, appuyer sur Ctrl + F et saisir "X1000" en tant que texte de recherche. Cliquer sur Chercher suivant pour passer à l'occurrence suivante du nouvel élément X1000 (qui devrait se trouver sous Envelope > Interchange > Group > Message_850 > Loop_N1 > N2).

mf_x12_customize_04

 

Personnalisation locale

Si vous souhaitez donner l'accès au nouveau champ X1000 localement, seul le fichier 850.Config doit être édité. Dans ce cas, seul le segment N2 dans la transaction "850 - Purchase Order" contiendra/référencera le champ X1000.

 

Pour redéfinir le segment N2 localement:

 

1.Ouvrir le fichier 850.Config dans un éditeur de texte ou XML, et se rendre sur Group name="LoopN1" (ou chercher LoopN1)

<Group name="LoopN1" maxOccurs="10" minOccurs="0">
  <Segment ref="N1"/>
  <Segment ref="N2" minOccurs="0" maxOccurs="2"/>

 
  ... ...

 

</Group>

2.Remplacer la ligne <Segment ref="N2" minOccurs="0" maxOccurs="2"/> par les lignes suivantes :

 

<Segment name="N2" info="Additional Name Information">
  <Data ref="F93" mergedEntries="2"/>
  <Data name="X1000" type="string" maxLength="35" minOccurs="0" info="New Element"/>
</Segment>

 

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

 

<Group name="LoopN1" maxOccurs="10" minOccurs="0">
  <Segment ref="N1"/>
  <Segment name="N2" info="Additional Name Information">
    <Data ref="F93" mergedEntries="2"/>
    <Data name="X1000" type="string" maxLength="35" minOccurs="0" info="New Element"/>
  </Segment>

 
  ... ...

 

</Group>

 

Vous pouvez consulter le nouveau champ dans MapForce en utilisant les mêmes instructions que celles décrites ci-dessus pour la personnalisation globale.

mf_x12_customize_04

 

Utiliser le message personnalisé dans des mappages

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

mf_x12_customize_05

Orders-Custom-X12.mfd

Pour consulter le résultat de mappage, cliquer sur l'onglet Sortie. Comme prévu, l'item cible Salutation est rempli avec la valeur "Mrs" extraite de l'élément de données X1000 personnalisé du fichier X12.

mf_x12_customize_06

© 2017-2023 Altova GmbH