web-dev-qa-db-fra.com

Comment comprendre un fichier EDI?

J'ai déjà vu XML, mais je n'ai jamais rien vu de tel EDI .

Comment lire ce fichier et obtenir les données dont j'ai besoin? Je vois des choses comme ~, REF, N1, N2, N4 mais je n'ai aucune idée de ce que cela signifie.

Je recherche des exemples et des documentations. Où puis-je les trouver?

Aussi EDI que j'ai trouvé dit qu'il est basé sur "ANSI ASC X12/ver. 4010". Dois-je rechercher le formulaire X12?

Aide aimablement.

29
vas

Wow, flashbacks. Cela fait plus de seize ans ...

En principe, chaque ligne est un "segment", et les identifiants sont le début de la ligne est un identifiant de segment. Chaque segment contient des "éléments" qui sont essentiellement des champs positionnels. Ils sont délimités par des "délimiteurs d'élément".

Différents segments signifient différentes choses et peuvent indiquer des constructions en boucle, des répétitions, etc.

Vous devez obtenir une version actuelle de la norme pour l'analyse de base, puis vous avez besoin du dictionnaire de données pour décrire le contenu du document que vous traitez, puis vous pourriez avoir besoin d'un profil de l'industrie, d'un guide d'implémentation ou similaire pour traiter avec les conventions pour le type de document particulier dans votre environnement.

Exemples? Pas à jour, mais je suis sûr que vous pourriez trouver tout un tas en utilisant votre moteur de recherche de choix. Une fois l'analyse de segment/élément de base effectuée, vous traitez avec les données de votre niveau d'application, et je ne sais pas dans quelle mesure un exemple général vous y aidera.

28
janm

Plusieurs de ces autres réponses sont très bonnes. J'essaierai de compléter certaines choses qu'ils n'ont pas mentionnées.

L'EDI est un ensemble de standards, dont les plus courants sont:

  • ANSI X12 (populaire dans les États)
  • EDIFACT (populaire en Europe)

On dirait que vous regardez la version X10 4010. C'est la version la plus utilisée (selon mon expérience, en tout cas). Il existe de nombreuses versions différentes.

Le fichier, ou proprement "échange", est composé de segments et d'éléments (et parfois de sous-éléments). Chaque segment commence par un identifiant de deux ou trois mots (ISA, GS, ST, N1, REF).

La structure de tous les documents commence et se termine par une enveloppe. L'enveloppe est généralement constituée du segment ISA et des segments GS. Il peut y avoir plus d'un segment GS par fichier, mais il ne doit y avoir qu'un seul segment [ISA _ par fichier (notez le devrait, tout le monde ne respecte pas les règles).

ISA est un segment spécial. Alors que tous les autres segments sont délimités et peuvent donc être de longueurs variables, le segment ISA est de largeur fixe. En effet, il vous indique comment lire le reste du fichier.

Commencez par les trois derniers caractères du segment ISA. Ceux-ci vous indiqueront le délimiteur d'élément, le délimiteur de sous-élément et le délimiteur de segment. Voici un exemple de ligne ISA.

ISA: 00:: 00:: 01: 1515151515: 01: 5151515151: 041201: 1217: U: 00403: 000032123: 0: P: * ~

Dans ce cas, le ":" est le délimiteur d'élément, "*" est un délimiteur de sous-élément et "~" le délimiteur de segment. C'est beaucoup plus facile si vous essayez simplement de regarder un fichier pour mettre des sauts de ligne après chaque délimiteur de segment (~).

Le ISA vous indique également de qui provient et vers lequel le document, quelle est la version (00403, également appelée 4030) et le numéro de contrôle de l'échange (0000321233). Les autres éléments ne sont probablement pas importants pour vous à ce stade.

Ce document provient de l'expéditeur "01: 1515151515" et du destinataire "01: 5151515151". Alors, quel est le "01:"? Eh bien, cela introduit un concept important dans l'EDI, le qualificatif. Plusieurs éléments ont des qualificatifs, qui vous indiquent de quel type de données est l'élément suivant. Dans ce cas, le 01 est censé être un numéro Dunn et Bradstreet. Les autres qualificatifs pour les éléments ISA05 et ISA07 sont 12 pour le numéro de téléphone et ZZ pour "défini par l'utilisateur". Vous trouverez le concept de qualificatifs sur tous les segments EDI. Une règle d'or décente est que si c'est deux caractères, c'est un qualificatif. Afin de savoir ce que signifient tous les qualificatifs, vous aurez besoin d'un guide des normes (soit en copie papier à partir de l'organisme de normalisation EDI, soit dans certains logiciels).

La ligne suivante est la GS. Il s'agit d'un groupe fonctionnel (un moyen de regrouper des documents similaires dans un échange.) Par exemple, vous pouvez avoir plusieurs bons de commande et plusieurs accusés de réception fonctionnels au sein d'un ISA. Ceux-ci doivent être placés dans des groupes fonctionnels séparés (segments GS). Vous pouvez déterminer le type de documents dans un segment GS en examinant le premier élément GS01.

GS: PO: 9988776655: 1122334455: 20041201: 1217: 128: X: 004030

Outre le type de document, vous pouvez voir à nouveau le (9988776655) et le (1122334455). Cette fois, ils utilisent différents identifiants, ce qui est légal, car vous pouvez recevoir un échange au nom de quelqu'un d'autre (si vous êtes un intermédiaire, par exemple). Vous pouvez également voir à nouveau le numéro de version, cette fois avec le "0" de fin (0004030). Utilisez une logique de chiffres significatifs pour supprimer les zéros de tête. Pourquoi y a-t-il un zéro supplémentaire ici et pas dans l'ISA? Je ne sais pas. Enfin, ce segment GS a également son propre identifiant, 128.

C'est tout pour le début de l'enveloppe. Après cela, il y aura une boucle de documents commençant par ST. Dans ce cas, ils seraient tous des PO, qui ont un code (850), donc la ligne commencerait par ST: 850: blablabla

L'enveloppe se termine par un segment GE qui fait référence à l'identifiant GS (128) afin que vous sachiez quel segment est fermé. Vient ensuite une AIE qui ferme également l'ISA.

GE: 1: 128 ~ IEA: 1: 000032123 ~

Voilà un aperçu de la structure et comment la lire. Pour le comprendre, vous aurez besoin d'un livre de référence ou d'un logiciel afin de comprendre les codes, beaucoup, beaucoup de temps et beaucoup, beaucoup de pratique. Bonne chance, et postez à nouveau si vous avez des questions plus spécifiques.

76
Adam J.R. Erickson

EDI est un format de fichier pour les fichiers texte structurés, utilisé par de nombreuses grandes organisations et entreprises pour l'échange de bases de données standard. Il a tendance à être beaucoup plus court que XML, ce qui était génial lorsque les paquets de données devaient être petits. De nombreuses organisations l'utilisent encore, car de nombreux systèmes mainframe utilisent EDI au lieu de XML.

Avec les messages EDI, vous traitez des messages texte qui correspondent à un format spécifique. Ce serait similaire à un schéma XML, mais EDI ne fait pas vraiment ont un langage de schéma normalisé. EDI eux-mêmes ne sont pas vraiment lisibles par l'homme alors que la plupart des spécifications ne sont pas vraiment lisibles par la machine. C'est fondamentalement l'avantage du XML, où le XML et le schéma peut être lu par les humains et les machines.

Il y a de fortes chances que lorsque vous effectuez des opérations bancaires électroniques via un logiciel côté client (non basé sur un navigateur), vous puissiez déjà avoir plusieurs fichiers EDI sur votre système. Les banques préfèrent toujours EDI over XML pour envoyer des données de transaction, bien que beaucoup utilisent également leurs propres formats texte personnalisés.

Pour comprendre l'EDI, vous devez d'abord comprendre les données, plus la norme EDI que vous souhaitez suivre.

6
Wim ten Brink

En supposant que le flux de données commence par "ISA", vers le début, il devrait y avoir une section "~ ST *" suivie de trois chiffres numériques. Si vous pouvez poster ces trois chiffres, je peux probablement vous fournir plus d'informations. De plus, connaître l'industrie serait utile. Par exemple, les soins de santé utilisent 270, 271, 276, 277 et quelques autres.

1
user134670