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.
http://www.hibcc.org/EBUS/editemplates.htm ha alcuni esempi di EDI relativi all'assistenza sanitaria, che sono ancora molto comuni. –
Vedere i miei commenti su http://stackoverflow.com/questions/1551466/sql-server-edi-to-xml-data-conversion/1551549 – TrueWill