[除非特別註明,本主題中的內容適用於BizTalk Server 2013 和 2013 R2。]ide
發送 EDI 編碼的交換時,應用到消息的 EDI 信封一般基於接收協議的 EDI 屬性,或基於後備協議屬性。可是,基於運行時所生成的值來設置 EDI 信封屬性一般頗有用。編碼
在 BizTalk Server 中,你可使用EdiOverride 上下文屬性來指定用於在出站文檔上生成 EDI 信封的值。url
EdiOverride 上下文屬性提供一種方法來重寫所有或部分用於生成 EDI 信封的值。EDI 發送管道將使用包含一個有效值的EdiOverride 上下文屬性來構造信封。若是未填充某個屬性,則管道將使用協議屬性中所指定的值;而若是還未定義協議,則將使用後備協議屬性中所指定的值。若是某個屬性包含無效值,則管道將掛起消息並報告一個驗證錯誤。spa
|
僅在將 未設置默認值。文檔 |
下表顯示了 EdiOverride 上下文屬性以及相應的 X12 信封標頭:字符串
標頭it |
屬性table |
交換控制標頭 (ISA) |
ISA0一、ISA0二、ISA0三、ISA0四、ISA0五、ISA0六、ISA0七、ISA0八、ISA0九、ISA十、ISA十一、ISA十二、ISA1三、ISA1四、ISA1五、ISA16 |
功能組標頭 (GS) |
GS0一、GS0二、GS0三、GS0四、GS0五、GS0六、GS0七、GS08 |
事務集標頭 |
ST02 |
下表顯示了 EdiOverride 上下文屬性以及相應的EDIFACT 信封段:
段 |
屬性 |
服務字符串建議 (UNA) |
UNA一、UNA二、UNA三、UNA四、 UNA五、UNA六、UNA6Suffix |
交換控制標頭 (UNB) |
UNB1_一、UNB1_二、UNB2_一、UNB2_二、UNB2_三、UNB3_一、UNB3_二、UNB3_三、UNB4_一、UNB4_二、UNB五、UNB6_一、UNB七、UNB八、UNB九、UNB十、UNB11 |
功能組標頭 (UNG) |
UNG一、UNG2_一、UNG2_二、UNG3_一、UNG3_二、UNG4_一、UNG4_二、UNG五、UNG六、UNG7_一、UNG7_二、UNG7_三、UNG8 |
消息標頭 (UNH) |
UNH1 |
因爲 UNA 和 UNGEDIFACT 段是可選的,所以,無論「應用 UNA 段」協議設置如何,均可使用GenerateUNA 和 GenerateUNG 屬性來肯定是否生成這些標頭。下表顯示了致使生成這些段的值:
GenerateUNA 上下文屬性 |
應用 UNA 段協議設置 |
引擎行爲 |
TRUE |
CHECKED |
生成 UNA |
TRUE |
UNCHECKED |
生成 UNA |
FALSE |
CHECKED |
不生成 UNA |
FALSE |
UNCHECKED |
不生成 UNA |
不顯示(OverrideEDIHeader 爲 false) |
CHECKED |
生成 UNA |
不顯示(OverrideEDIHeader 爲 false) |
UNCHECKED |
不生成 UNA |
GenerateUNG 上下文屬性 |
應用 UNG 段協議設置 |
引擎行爲 |
TRUE |
CHECKED |
生成 UNG |
TRUE |
UNCHECKED |
生成 UNG |
FALSE |
CHECKED |
不生成 UNG |
FALSE |
UNCHECKED |
不生成 UNG |
不顯示(OverrideEDIHeader 爲 false) |
CHECKED |
生成 UNG |
不顯示(OverrideEDIHeader 爲 false) |
UNCHECKED |
不生成 UNG |
因爲交換可顯示多個組,所以,組信封帶來了一個特殊的難題。爲了解決這個難題,EDI 發送管道可將信封應用到交換中的全部組,或僅將信封應用到交換中的一個組。
對於單一事務,可重寫全部 GS 或 UNG 字段,而對於成批交換,僅可重寫如下字段:
GS04
GS05
UNG4_1
UNG4_2
批處理消息的事務集控制編號的重寫將由批處理業務流程來處理。可經過將如下屬性寫入到將進行批處理的任何消息的上下文來重寫事務集控制編號:
ST02(適用於 X12 消息)
UNH1(適用於 EDIFACT 消息)
|
若是相同組中的多個傳入消息包含相同的控制編號,則具備重複編號的消息將被掛起。 |
|
對於將進行批處理的消息,不要升級 EdiOverride 上下文屬性 ISA、UNA、GS 或 UNG。若是你須要重寫這些屬性,則應首先在批處理業務流程的輸出消息上升級這些屬性,而後再將它們發送到 EDI 發送管道。 |
對於每一個字段,分隔符(例如,UNA 標頭)必須包含一個惟一值。重寫分隔符(例如,UNA 標頭)值時,必須確保每一個分隔符的值不只在你所重寫的值中是惟一的,還應在協議或後備協議設置中所使用的任何分隔符中是惟一的。
例如,若是你重寫協議屬性中的 UNA一、UNA二、UNA四、UNA三、UNA五、UNA6 和UNA6Suffix,則每一個屬性必須包含與其餘值不一樣的惟一值。