BizTalk Server 如何發送 EDI 消息(5)

替代 EDI 標頭

[除非特別註明,本主題中的內容適用於BizTalk Server 2013 和 2013 R2。]ide

發送 EDI 編碼的交換時,應用到消息的 EDI 信封一般基於接收協議的 EDI 屬性,或基於後備協議屬性。可是,基於運行時所生成的值來設置 EDI 信封屬性一般頗有用。編碼

在 BizTalk Server 中,你可使用EdiOverride 上下文屬性來指定用於在出站文檔上生成 EDI 信封的值。url

使用 EdiOverride 上下文屬性

EdiOverride 上下文屬性提供一種方法來重寫所有或部分用於生成 EDI 信封的值。EDI 發送管道將使用包含一個有效值的EdiOverride 上下文屬性來構造信封。若是未填充某個屬性,則管道將使用協議屬性中所指定的值;而若是還未定義協議,則將使用後備協議屬性中所指定的值。若是某個屬性包含無效值,則管道將掛起消息並報告一個驗證錯誤。spa

    spacer.gif便箋code

僅在將EdiOverride.OverrideEdiHeader屬性寫入到消息的上下文,且包含一個「True」值時,才使用在  EdiOverride 集合中指定的值。事務

未設置默認值。文檔

X12 信封值的EdiOverride 屬性

下表顯示了 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

EDIFACT 信封值的EdiOverride 屬性

下表顯示了 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 消息)

spacer.gif便箋

若是相同組中的多個傳入消息包含相同的控制編號,則具備重複編號的消息將被掛起。

spacer.gif便箋

對於將進行批處理的消息,不要升級 EdiOverride 上下文屬性 ISA、UNA、GS 或 UNG。若是你須要重寫這些屬性,則應首先在批處理業務流程的輸出消息上升級這些屬性,而後再將它們發送到 EDI  發送管道。

分隔符衝突

對於每一個字段,分隔符(例如,UNA 標頭)必須包含一個惟一值。重寫分隔符(例如,UNA 標頭)值時,必須確保每一個分隔符的值不只在你所重寫的值中是惟一的,還應在協議或後備協議設置中所使用的任何分隔符中是惟一的。

例如,若是你重寫協議屬性中的 UNA一、UNA二、UNA四、UNA三、UNA五、UNA6 和UNA6Suffix,則每一個屬性必須包含與其餘值不一樣的惟一值。

相關文章
相關標籤/搜索