[除非特别注明,本主题中的内容适用于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,则每一个属性必须包含与其余值不一样的惟一值。