2009-09-16 22 views
23

He visto XML antes, pero nunca he visto nada como EDI.¿Cómo entender un archivo EDI?

¿Cómo leo este archivo y obtengo los datos que necesito? Veo cosas como ~, REF, N1, N2, N4 pero no tengo idea de lo que significan estas cosas.

Estoy buscando ejemplos y documentaciones. ¿Dónde puedo encontrarlos?

Aslo La guía EDI que encontré dice que está basada en "ANSI ASC X12/ver. 4010". ¿Debo buscar el formulario X12?

Amablemente ayuda.

+0

http://www.hibcc.org/EBUS/editemplates.htm tiene algunos ejemplos de EDI relacionados con la atención médica, que todavía son muy comunes. –

+1

Ver mis comentarios en http://stackoverflow.com/questions/1551466/sql-server-edi-to-xml-data-conversion/1551549 – TrueWill

Respuesta

27

Wow, flashbacks. Han pasado más de dieciséis años ...

En principio, cada línea es un "segmento", y los identificadores son el comienzo de la línea es un identificador de segmento. Cada segmento contiene "elementos" que son esencialmente campos posicionales. Están delimitados por "delimitadores de elementos".

diferentes segmentos tienen diferentes significados, y pueden indicar construcciones en bucle, repeticiones, etc.

Es necesario obtener una versión actual de la norma para el análisis básico, y luego lo que necesita el diccionario de datos para describir el contenido del documento que está tratando, y luego puede necesitar un perfil de la industria, una guía de implementación o similar para tratar las convenciones para el tipo de documento particular en su entorno.

¿Ejemplos? No es actual, pero estoy seguro de que podría encontrar un montón utilizando su motor de búsqueda de elección. Una vez que finalice el análisis básico del segmento/elemento, estará lidiando con los datos de nivel de su aplicación, y no sé cuánto le ayudará un ejemplo general allí.

+24

Y la gente se queja de XML. – Will

+2

¿Es este un proceso antiguo que actualmente podemos procesar con CSV o XML a través de FTP? Suena como un waffle de negocios inflado para un estándar en el que el emisor y el receptor pueden ponerse de acuerdo para que ambos lados obtengan un archivo legible por computadora. – Coops

1

Suponiendo que la secuencia de datos comienza con "ISA", hacia el principio debe haber una sección "~ ST *" seguida de tres dígitos numéricos. Si puede publicar estos tres dígitos, probablemente pueda proporcionarle más información. Además, conocer la industria sería útil. Por ejemplo, el cuidado de la salud usa 270, 271, 276, 277 y algunos otros.

5

EDI es un formato de archivo para archivos de texto estructurados, utilizado por muchas organizaciones más grandes y compañías para el intercambio de bases de datos estándar. Tiende a ser mucho más corto que XML, que solía ser excelente cuando los paquetes de datos tenían que ser pequeños. Muchas organizaciones todavía lo usan, ya que muchos sistemas de mainframe usan EDI en lugar de XML.

Con los mensajes EDI, se trata de mensajes de texto que coinciden con un formato específico. Esto sería similar a un esquema XML, pero EDI realmente no tiene un lenguaje de esquema estandarizado. Los mensajes EDI en sí mismos no son realmente legibles por humanos, mientras que la mayoría de las especificaciones no son realmente legibles por máquina. Esta es básicamente la ventaja de XML, donde tanto el XML como su esquema pueden ser leídos por humanos y máquinas.

Lo más probable es que cuando esté haciendo banca electrónica a través de algún software del lado del cliente (no basado en navegador), entonces es posible que ya tenga varios archivos EDI en su sistema. Los bancos aún prefieren EDI sobre XML para enviar datos de transacciones, aunque muchos también usan sus propios formatos de texto personalizados.

Para comprender el EDI, primero deberá comprender los datos, más el estándar de EDI que desea seguir.

+3

+1. Aunque llamaría a EDI un formato binario en lugar de un formato de texto, todo depende de qué separadores/terminadores elijan los socios. Y con frecuencia no tiene saltos de línea. – TrueWill

+0

Hay un formato y sintaxis para EDI y hay estándares, lo más común es que vea ANSI X12, y generalmente si implementa su analizador en el estándar, la versión y la revisión correctos, puede comerciar con cualquiera que use el mismo estándar, versión , revisión como lo haces. Dentro de las industrias generalmente hay al menos 1 de estos usados ​​prolíficamente a lo largo de hacer EDI increíblemente conveniente, aunque un toque artificial. – DavidScherer

64

Varias de estas otras respuestas son muy buenas. Intentaré completar algunas cosas que no han mencionado.

EDI es un conjunto de stanards, la más común de las cuales son:

  • ANSI X12 (popular en los estados)
  • EDIFACT (popular en Europa)

suena como usted Estamos viendo la versión 4010 de X12. Esa es la versión más utilizada (en mi experiencia, de todos modos). Hay muchas y muchas versiones diferentes.

El archivo, o "intercambio", está formado por segmentos y elementos (y algunos subelementos). Cada segmento comienza con un identificador de dos o tres palabras (ISA, GS, ST, N1, REF).

La estructura de todos los documentos comienza y termina con un sobre. El sobre generalmente está compuesto por el segmento ISA y los segmentos GS. Puede haber más de un segmento GS por archivo, pero solo debe haber un segmento ISA por archivo (tenga en cuenta que debería, no todos cumplen las reglas).

El ISA es un segmento especial. Mientras que todos los demás segmentos están delimitados, y por lo tanto pueden ser de longitud variable, el segmento ISA es de ancho fijo. Esto es porque le dice cómo leer el resto del archivo.

Comience con los últimos tres caracteres del segmento ISA. Esos le indicarán el delimitador del elemento, el delimitador del subelemento y el delimitador del segmento. Aquí hay un ejemplo de línea ISA.

ISA: 00:: 00:: 01: 1515151515: 01: 5151515151: 041201: 1217: U: 00403: 000 032 123: 0: P: * ~

En este caso, el ":" es la delimitador de elementos, "*" es un delimitador de subelementos y "~" el delimitador de segmentos. Es mucho más fácil si solo estás tratando de mirar un archivo para poner saltos de línea después de cada delimitador de segmento (~).

El ISA también le dice de quién es el documento y a qué versión (00403, que también se conoce como 4030) y el número de control de intercambio (0000321233). Las otras cosas probablemente no son importantes para ti en esta etapa.

Este documento es de "01: 1515151515" y de "01: 5151515151". Entonces, ¿qué pasa con el "01:"? Bueno, esto introduce un concepto importante en EDI, el calificador. Varios elementos tienen calificadores, que le dicen qué tipo de datos es el siguiente elemento. En este caso, se supone que el 01 es un número de Dunn y Bradstreet. Otros calificadores para los elementos ISA05 e ISA07 son 12 para el número de teléfono y ZZ para "definido por el usuario". Encontrará el concepto de calificadores en todos los segmentos de EDI. Una regla de oro decente es que si se trata de dos caracteres, es un calificador. Para saber qué significan todos los calificadores, necesitará una guía de estándares (ya sea en copia impresa del cuerpo de estándares de EDI o en algún software).

La siguiente línea es la GS. Este es un grupo funcional (una forma de agrupar documentos similares dentro de un intercambio). Por ejemplo, puede tener varias órdenes de compra y varios reconocimientos funcionales dentro de un ISA. Estos deben colocarse en grupos funcionales separados (segmentos GS). Puede averiguar qué tipo de documentos hay en un segmento GS mirando el primer elemento GS01.

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

Además del tipo de documento, se puede ver la de (9988776655) y (1122334455) de nuevo. Esta vez están usando identificadores diferentes, lo cual es legal, porque es posible que esté recibiendo un intercambio en nombre de otra persona (si usted es un intermediario, por ejemplo).También puede ver el número de versión nuevamente, esta vez con el "0" posterior (0004030). Use la lógica de dígitos significativos para quitar los ceros iniciales. ¿Por qué hay un cero adicional aquí y no en el ISA? No lo sé. Por último, este segmento GS también tiene su propio identificador, 128.

Eso es todo por el principio del sobre. Después de eso, habrá un bucle de documentos que comenzará con ST. En este caso, todos serían PO, que tienen un código (850), por lo que la línea comenzaría con ST: 850: blablabla

La envolvente termina con un segmento GE que hace referencia al identificador GS (128) usted sabe qué segmento se está cerrando Luego viene una IEA que de manera similar cierra el ISA.

GE: 1: 128 ~ AIE: 1: 000 032 123 ~

Esa es una visión general de la estructura y la forma de leerlo. Para entenderlo necesitarás un libro de referencia o software para que entiendas los códigos, muchísimo tiempo y mucha práctica. Buena suerte, y publique nuevamente si tiene preguntas más específicas.

+4

Encontré tu publicación muy útil. Aquí hay algunos enlaces que me ayudaron a comenzar con un analizador EDI personalizado para un documento EDI 810 (factura): http://webobjects.cdw.com/webobjects/media/pdf/e-procurement/downloads/810_I_4010.pdf http: //timrayburn.net/blog/parsing-an-x12-edi-by-hand/ – i2097i

+2

Muy útil. Después de leerlo, comencé a entender lo que significan todas estas letras, asteriscos y dígitos. – yurin

+2

Greattttt artical Adam. Ojalá pudiera dejarlo 100 veces. Gracias. – ParekhAbhishekN