Condividi tramite


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.

Vedere anche

Come vengono inviati i messaggi EDI in BizTalk Server