Condividi tramite


Intestazioni e trailer EDI

Le parti di un interscambio EDI sono delimitate da intestazioni e trailer che devono essere conformi allo standard X12 o EDIFACT. Il trailer e l'intestazione di controllo interscambio sono presenti una sola volta, mentre i trailer e le intestazioni del set transazioni e del gruppo funzionale vengono ripetuti se ai gruppi e ai set transazioni viene applicata la modalità batch all'interno dell'interscambio. Ogni intestazione e trailer si compone di una serie di elementi dati contenenti informazioni sul contenuto presente nell'intestazione e nel trailer.

Le intestazioni e i trailer sono simili sia per X12 che per EDIFACT. La differenza principale è costituita dall'intestazione UNA - Service String Advice per EDIFACT, che definisce i separatori usati nell'interscambio. Nella codifica X12 i separatori vengono definiti nell'intestazione di controllo interscambio ISA.

I trailer e le intestazioni di controllo interscambio e gruppo funzionale sono contrassegnati come segmenti busta. Quando BizTalk Server suddivide un interscambio in arrivo come set transazioni, i segmenti busta vengono salvati come proprietà del contesto. Le proprietà chiave della busta che risultano utili per il routing sono disponibili come proprietà singole. Ciò non si verifica quando l'interscambio viene mantenuto, poiché in questo caso i dati della busta sono inclusi nel messaggio stesso.

Quando BizTalk Server genera un messaggio in uscita, basa le intestazioni e i trailer sui contratti tra partner commerciali (o accordi globali se nessuna parte è stata determinata).

I campi di intestazione e trailer e i caratteri separatore usati per separarli negli interscambi sono definiti nell'accordo tra le due entità. Secondo quando definito per l'accordo, un carattere separatore non deve essere usato nella definizione di alcun campo di intestazione o trailer del set transazioni, del gruppo o dell'interscambio. Qualora lo fosse, l'elaborazione dell'interscambio avrà esito negativo nell'assembler EDI del server BizTalk Server mittente o nel disassembler dell'entità ricevente. L'interscambio avrà esito negativo nell'assembler EDI se corrisponde a un batch in uscita, poiché l'assembler convaliderà la busta in base allo schema (servizio) di controllo intestazione. Se all'interscambio non viene applicata la modalità batch, verrà serializzato dall'assembler EDI, ma l'elaborazione nel disassembler dell'accordo ricevente avrà esito negativo.

Intestazioni e trailer X12

Di seguito sono descritti i trailer e le intestazioni per un messaggio con codifica X12:

ISA Interchange Control Header  
  GS Functional Group Header  
    ST Transaction Set Header  
    SE Transaction Set Trailer  
  GE Functional Group Trailer  
IEA Interchange Control Trailer  

Se un'intestazione ISA è seguita immediatamente da un trailer IEA, l'interscambio risulta vuoto. Se è presente un set transazioni, devono essere presenti anche l'intestazione GS e il trailer GE, poiché in caso contrario sono condizionali.

I campi di intestazione del controllo interscambio ISA in un messaggio con codifica X12 sono di lunghezza fissa. Per alcuni campi è possibile immettere un valore inferiore alla lunghezza fissa del campo. In tal caso l'interscambio deve contenere spazi finali (per un campo stringa) o zero iniziali (per un campo numerico), in modo che per ogni campo sia rispettata la lunghezza obbligatoria. Quando si crea un interscambio in uscita, BizTalk Server immette spazi finali o zeri iniziali per creare un'intestazione del controllo interscambio della lunghezza destra. I campi di intestazione gruppo GS e i campi di intestazione set transazioni ST non sono di lunghezza fissa.

Nella codifica X12, l'intestazione di sicurezza funzionale, l'intestazione del controllo funzionale, il segmento del valore di sicurezza funzionale e i segmenti del trailer di sicurezza funzionale non rientrano nell'ambito di BizTalk Server EDI e AS2. Se viene ricevuto un interscambio contenente tali segmenti, questo verrà sospeso e verrà visualizzato un messaggio di errore in cui è indicato che tali segmenti non sono stati identificati.

Il campo ST01 è il codice ID del set transazioni, mentre il campo ST02 è il numero di controllo del set transazioni. Il campo ST03 è l'identificatore della versione dello schema. Il campo SE01 indica il numero di segmenti inclusi nel set transazioni, mentre il campo SE02 è uguale al campo ST02, ovvero il numero di controllo del set transazioni. Quando si analizza un messaggio in arrivo, BizTalk Server verificherà che il numero di segmenti nel set di transazioni corrisponda al valore del campo SE01. Quando si genera un messaggio in uscita, BizTalk Server imposterà il campo SE01 sul numero corretto di segmenti nel set di transazioni.

Un set transazioni XML in fase di serializzazione in un interscambio EDI in uscita deve disporre di un'intestazione e un trailer del set transazioni. Qualora non includa un'intestazione o un trailer del set transazioni, il messaggio verrà tuttavia elaborato dall'assembler EDI. I segmenti di intestazione e trailer del set transazioni negli schemi X12 ed EDIFACT sono facoltativi per un set transazioni XML. Se una transazione non include un'intestazione o un trailer, l'assembler EDI nella pipeline di trasmissione EDISend o AS2EDISend aggiungerà alla transazione i valori di intestazione e trailer del set transazioni. Questi valori saranno basati su mapping o calcoli. L'assembler EDI eseguirà questa operazione per XML dell'interscambio (un batch mantenuto), XML del set transazioni in modalità batch e XML del set transazioni. Per altre informazioni, vedere Intestazione set di transazioni X12 e segmenti di trailer o intestazione del set di transazioni EDIFACT e segmenti di trailer.

Intestazioni e trailer EDIFACT

Di seguito sono descritti i trailer e le intestazioni per un messaggio con codifica EDIFACT:

UNA Service String Advice  
UNB Interchange Control Header  
  UNG Functional Group Header  
    UNH Message Header  
    UNT Message Trailer  
  UNE Functional Group Trailer  
UNZ Interchange Control Trailer  

L'intestazione UNA non è obbligatoria. L'intestazione UNB è obbligatoria. Se presente, l'intestazione UNA contiene i delimitatori da usare per l'elaborazione del messaggio in arrivo. In caso contrario, verranno usati i separatori definiti per la proprietà della pipeline EfactDelimiters.

Se un'intestazione UNB è seguita immediatamente da un trailer UNZ, l'interscambio è vuoto. Se un'intestazione UNG è seguita immediatamente da un trailer UNE, il gruppo è vuoto. La coppia intestazione UNG e trailer UNE è di tipo condizionale e non deve essere presente in un messaggio.

Vedere anche

Struttura dei messaggi EDI