Override di intestazioni EDI
Quando si invia un interscambio con codifica EDI, la busta EDI applicata al messaggio si basa normalmente sulle proprietà EDI dell'accordo di ricezione o sulle proprietà dell'accordo di fallback. Tuttavia è spesso utile impostare le proprietà della busta EDI sulla base dei valori generati dal runtime.
In BizTalk Server è possibile usare le proprietà del contesto EdiOverride per specificare i valori usati per generare la busta EDI nei documenti in uscita.
Uso delle proprietà di contesto EdiOverride
Le proprietà di contesto EdiOverride consentono di ignorare totalmente o parzialmente i valori usati per generare la busta EDI. La pipeline di trasmissione EDI userà la proprietà di contesto EDIOverride contenente un valore valido per costruire la busta. Se una proprietà non viene popolata, la pipeline userà il valore specificato nelle proprietà dell'accordo o nelle proprietà dell'accordo di fallback, se non è definito alcun accordo. Se una proprietà contiene un valore non valido, la pipeline sospenderà il messaggio e restituirà un errore di convalida.
Nota
I valori specificati nell'insieme EdiOverride vengono usati solo se la EdiOverride.OverrideEdiHeader
proprietà viene scritta nel contesto di un messaggio e contiene un valore "True".
Per impostazione predefinita il valore non è impostato.
Proprietà EdiOverride per i valori della busta X12
La seguente tabella riporta le proprietà di contesto EdiOverride e la corrispondente intestazione della busta X12:
Intestazione | Proprietà |
---|---|
Intestazione di controllo interscambio (ISA) | ISA01, ISA02, ISA03, ISA04, ISA05, ISA06, ISA07, ISA08, ISA09, ISA10, ISA11, ISA12, ISA13, ISA14, ISA15, ISA16 |
Intestazioni gruppo funzionale (GS) | GS01, GS02, GS03, GS04, GS05, GS06, GS07, GS08 |
Intestazione set transazioni | ST02 |
Proprietà EdiOverride per i valori della busta XEDIFACT
La seguente tabella riporta le proprietà di contesto EdiOverride e il corrispondente segmento della busta EDIFACT:
Segment | Proprietà |
---|---|
Service String Advice (UNA) | UNA1, UNA2, UNA3, UNA4, UNA5, UNA6, UNA6Suffix |
Intestazione di controllo interscambio (UNB) | UNB1_1, UNB1_2, UNB2_1, UNB2_2, UNB2_3, UNB3_1, UNB3_2, UNB3_3, UNB4_1, UNB4_2, UNB5, UNB6_1, UNB7, UNB8, UNB9, UNB10, UNB11 |
Intestazione di gruppo funzionale (UNG) | UNG1, UNG2_1, UNG2_2, UNG3_1, UNG3_2, UNG4_1, UNG4_2, UNG5, UNG6, UNG7_1, UNG7_2, UNG7_3, UNG8 |
Intestazione messaggio (UNH) | UNH1 |
Poiché i segmenti UNA e UNG EDIFACT sono facoltativi, è possibile usare le proprietà GenerateUNA e GenerateUNG per determinare se queste intestazioni vengono generate, indipendentemente dall'impostazione Applica contratto di segmento UNA . La seguente tabella indica i valori risultanti nella generazione di questi segmenti:
Proprietà di contesto GenerateUNA | Impostazione dell'accordo Applica segmento UNA | Comportamento del motore |
---|---|---|
true | CHECKED | Genera UNA |
true | UNCHECKED | Genera UNA |
FALSE | CHECKED | Non generare UNA |
FALSE | UNCHECKED | Non generare UNA |
Non presente (OverrideEdiHeader è false) | CHECKED | Genera UNA |
Non presente (OverrideEdiHeader è false) | UNCHECKED | Non generare UNA |
Proprietà di contesto GenerateUNG | Impostazione dell'accordo Applica segmenti UNG | Comportamento del motore |
---|---|---|
true | CHECKED | Genera UNG |
true | UNCHECKED | Genera UNG |
FALSE | CHECKED | Non generare UNG |
FALSE | UNCHECKED | Non generare UNG |
Non presente (OverrideEdiHeader è false) | CHECKED | Genera UNG |
Non presente (OverrideEdiHeader è false) | UNCHECKED | Non generare UNG |
Buste di gruppo
Le buste di gruppo rappresentano una sfida speciale in quanto nell'interscambio può essere presente più di un gruppo. Per eseguire questa operazione, la pipeline di trasmissione EDI può applicare la busta a tutti i gruppi dell'interscambio o all'unico gruppo dell'interscambio.
Per le singole transazioni, è possibile ignorare tutti i campi GS o UNG, per gli interscambi batch, è possibile ignorare solo i seguenti campi:
GS04
GS05
UNG4_1
UNG4_2
Creazione di batch
L'override del numero di controllo del set di transazioni per i messaggi batch è gestito dall'orchestrazione batch. Le seguenti proprietà possono essere scritte nel contesto di qualsiasi messaggio che verrà sottoposto all'esecuzione batch per ignorare il numero di controllo del set di transazioni:
ST02 (per messaggi X12)
UNH1 (per messaggi EDIFACT)
Nota
Se più messaggi in ingresso contengono lo stesso numero di controllo nello stesso gruppo, i messaggi con i numeri duplicati verranno sospesi.
Nota
Non alzare di livello le proprietà di contesto EdiOverride ISA, UNA, GS o UNG per i messaggi che devono essere sottoposti all'esecuzione batch. Se è necessario eseguire l'override di queste proprietà, alzarne il livello nel messaggio di output dell'orchestrazione batch prima di inviare alla pipeline di trasmissione EDI.
Conflitto di delimitatori
I delimitatori, ad esempio le intestazioni UNA, devono contenere un valore univoco per ogni campo. Quando si esegue l'override dei valori dei delimitatori, è necessario verificare che ogni valore di delimitatore sia univoco non solo tra i valori da ignorare, ma anche tra tutti i valori dei delimitatori usati dalle impostazioni dell'accordo o dell'accordo di fallback.
Ad esempio, se si esegue l'override di UNA1, UNA2 e UNA4 e UNA3, UNA5, UNA6 e UNA6Suffix provengono dalle proprietà dell'accordo, ciascuna contenente un valore univoco rispetto alle altre.