2009-09-16 17 views
23

Ho visto XML in precedenza, ma non ho mai visto nulla come EDI.Come capire un file EDI?

Come leggere questo file e ottenere i dati di cui ho bisogno? Vedo cose come ~, REF, N1, N2, N4 ma non ho idea di cosa significhi questa roba.

Sto cercando esempi e documentazione. Dove posso trovarli?

Aslo La guida EDI trovata indica che è basata su "ANSI ASC X12/ver. 4010". Devo cercare il modulo X12?

Gentile aiuto.

+0

http://www.hibcc.org/EBUS/editemplates.htm ha alcuni esempi di EDI relativi all'assistenza sanitaria, che sono ancora molto comuni. –

+1

Vedere i miei commenti su http://stackoverflow.com/questions/1551466/sql-server-edi-to-xml-data-conversion/1551549 – TrueWill

risposta

27

Wow, flashback. Sono passati più di sedici anni ...

In linea di principio, ogni linea è un "segmento" e gli identificatori sono l'inizio della linea è un identificatore di segmento. Ogni segmento contiene "elementi" che sono essenzialmente campi posizionali. Sono delimitati da "delimitatori di elementi".

diversi segmenti significano cose diverse, e possono indicare costrutti di loop, ripetizioni, ecc

È necessario ottenere una versione aggiornata dello standard per l'analisi di base, e quindi è necessario il dizionario di dati per descrivere il contenuto del documento con cui si ha a che fare, e quindi potrebbe essere necessario un profilo del settore, una guida all'implementazione o simili per gestire le convenzioni per il particolare tipo di documento nel proprio ambiente.

Esempi? Non è attuale, ma sono sicuro che potresti trovare un intero gruppo usando il tuo motore di ricerca preferito. Una volta che hai completato l'analisi di base segmento/elemento, hai a che fare con i dati a livello di applicazione e non so quanto un esempio generale possa aiutarti.

+24

E le persone si lamentano dell'XML. – Will

+2

Si tratta di un vecchio processo che in questi giorni possiamo elaborare con CSV o XML su FTP? Suona come un waffle aziendale gonfiato per lo standard, il mittente e il destinatario possono concordare su entrambi i lati ottenere un file leggibile dal computer. – Coops

1

Supponendo che il flusso di dati inizi con "ISA", all'inizio dovrebbe esserci una sezione "~ ST *" seguita da tre cifre numeriche. Se riesci a pubblicare queste tre cifre, probabilmente ti fornirò maggiori informazioni. Inoltre, conoscere il settore sarebbe utile. Ad esempio, l'assistenza sanitaria utilizza 270, 271, 276, 277 e pochi altri.

5

EDI è un formato di file per file di testo strutturato, utilizzato da molte organizzazioni e società più grandi per lo scambio di database standard. Tende ad essere molto più breve di XML, un tempo ottimo quando i pacchetti di dati dovevano essere piccoli. Molte organizzazioni lo usano ancora, dal momento che molti sistemi mainframe utilizzano EDI anziché XML.

Con i messaggi EDI, hai a che fare con messaggi di testo che corrispondono a un formato specifico. Questo sarebbe simile a uno schema XML, ma l'EDI non ha realmente un linguaggio di schema standardizzato. I messaggi EDI stessi non sono realmente leggibili dall'uomo, mentre la maggior parte delle specifiche non sono realmente leggibili dalla macchina. Questo è fondamentalmente il vantaggio di XML, dove sia l'XML che il suo schema possono essere letti da umani e macchine.

È probabile che quando si esegue il banking elettronico tramite un software client-side (non basato su browser), è possibile che sul sistema siano già presenti diversi file EDI. Le banche preferiscono ancora EDI su XML per inviare dati sulle transazioni, anche se molti usano anche i propri formati di testo personalizzati.

Per comprendere l'EDI, è necessario prima comprendere i dati, oltre allo standard EDI che si desidera seguire.

+3

+1. Chiamerei EDI un formato binario piuttosto che un formato di testo, però - tutto dipende da quali separatori/terminatori scelgono i partner. E spesso non ha interruzioni di linea. – TrueWill

+0

C'è un formato e una sintassi per EDI e ci sono degli standard, più comunemente vedo ANSI X12, e in generale se si implementa il parser sullo standard, versione e revisione corretti, è possibile fare trading con chiunque utilizzi lo stesso standard, versione , revisione come fai tu. All'interno delle industrie, in generale, almeno 1 di questi viene utilizzato in modo prolifico per rendere EDI incredibilmente conveniente, anche se un tocco forzato. – DavidScherer

64

Molte di queste altre risposte sono molto buone. Proverò a compilare alcune cose che non hanno menzionato.

EDI è un insieme di stanards, i più comuni dei quali sono:

  • ANSI X12 (popolare negli Stati Uniti)
  • EDIFACT (popolare in Europa)

suona come voi Sto guardando la versione 412 di X12. Questa è la versione più utilizzata (secondo la mia esperienza, comunque). Ci sono molte e diverse versioni.

Il file, o correttamente "interscambio", è costituito da segmenti ed elementi (e da sottoelementi di somtimes). Ogni segmento inizia con un identificatore di due o tre parole (ISA, GS, ST, N1, REF).

La struttura per tutti i documenti inizia e termina con una busta. La busta è solitamente composta dal segmento ISA e dai segmenti GS. Ci possono essere più di un segmento GS per file, ma dovrebbe esserci un solo segmento ISA per file (si noti il ​​dovrebbe, non tutti giocano secondo le regole).

L'ISA è un segmento speciale. Mentre tutti gli altri segmenti sono delimitati e quindi possono essere di lunghezza variabile, il segmento ISA ha una larghezza fissa. Questo perché ti dice come leggere il resto del file.

Inizia con gli ultimi tre caratteri del segmento ISA. Quelli ti diranno il delimitatore dell'elemento, il delimitatore dell'elemento secondario e il delimitatore del segmento. Ecco un esempio di linea ISA.

ISA: 00:: 00:: 01: 1.515.151,515 mila: 01: 5.151.515,151 mila: 041.201: 1217: U: 00403: 000.032.123: 0: P: * ~

In questo caso, il ":" è il delimitatore di elemento, "*" è un delimitatore di sottoelemento e "~" il delimitatore di segmento. È molto più semplice se cerchi semplicemente di guardare un file per mettere interruzioni di riga dopo ogni delimitatore di segmento (~).

L'ISA indica anche da chi proviene il documento da e verso, qual è la versione (00403, che è anche nota come 4030) e il numero di controllo interscambio (0000321233). Le altre cose probabilmente non sono importanti per te in questa fase.

Questo documento è da "01: 1515151515" e da "01: 5151515151". Allora, cos'è il "01:"? Bene, questo introduce un concetto importante in EDI, il qualificatore. Diversi elementi hanno qualificatori, che indicano quale tipo di dati è il prossimo elemento. In questo caso, il 01 dovrebbe essere un numero Dunn e Bradstreet. Altri qualificatori per gli elementi ISA05 e ISA07 sono 12 per il numero di telefono e ZZ per "definito dall'utente". Troverai il concetto di qualificatori su tutti i segmenti EDI. Una buona regola empirica è che se si tratta di due personaggi, è un qualificatore. Per sapere cosa significano tutti i qualificatori, avrai bisogno di una guida agli standard (sia in formato cartaceo dal corpo degli standard EDI, sia in alcuni software).

La riga successiva è la GS. Questo è un gruppo funzionale (un modo per raggruppare documenti simili all'interno di uno scambio). Ad esempio, è possibile avere diversi ordini di acquisto e diversi riconoscimenti funzionali all'interno di un ISA. Questi devono essere collocati in gruppi funzionali separati (segmenti GS). Puoi capire che tipo di documenti ci sono in un segmento GS osservando il primo elemento GS01.

GS: PO: 9.988.776,655 mila: 1.122.334,455 mila: 20.041.201: 1217: 128: X: 004030

Oltre al tipo di documento, è possibile vedere il da (9.988.776,655 mila) e al (1.122.334,455 mila) di nuovo. Questa volta stanno utilizzando identificatori diversi, che è legale, perché potresti ricevere un interscambio per conto di qualcun altro (se sei un intermediario, per esempio).È anche possibile visualizzare di nuovo il numero di versione, questa volta con il "0" finale (0004030). Utilizza la logica delle cifre significative per rimuovere gli zeri iniziali. Perché c'è uno zero in più qui e non nell'ISA? Non lo so. Infine questo segmento GS ha anche il proprio identificativo, 128.

Questo è tutto per l'inizio della busta. Dopodiché ci sarà un ciclo di documenti che inizia con ST. In questo caso sarebbero tutti PO, che hanno un codice (850), quindi la riga inizierà con ST: 850: blablabla

La busta finisce con un segmento GE che fa riferimento all'identificativo GS (128) in modo tale sai quale segmento viene chiuso. Poi arriva un AIE che chiude in modo simile l'ISA.

GE: 1: 128 ~ IEA: 1: 000.032.123 ~

Ecco una panoramica della struttura e come leggerlo. Per capirlo avrai bisogno di un libro di consultazione o di un software in modo da capire i codici, tanto, tanto tempo e tanta tanta pratica. Buona fortuna e posta di nuovo se hai domande più specifiche.

+4

Ho trovato il tuo post molto utile. Ecco alcuni collegamenti che mi hanno aiutato a iniziare con un parser EDI personalizzato per un documento EDI 810 (fattura): 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

Davvero utile. Dopo averlo letto, ho iniziato a capire cosa significano tutte queste lettere, asterischi e cifre. – yurin

+2

Greattttt artical Adam. Vorrei poter rinunciare a 100 volte. Grazie. – ParekhAbhishekN