BizTalk Server 如何发送 EDI 消息(5)
2016-10-24 16:16
323 查看
替代 EDI 标头
[除非特别注明,本主题中的内容适用于BizTalk Server 2013 和 2013 R2。]发送 EDI 编码的交换时,应用到消息的 EDI 信封通常基于接收协议的 EDI 属性,或基于后备协议属性。但是,基于运行时所生成的值来设置 EDI 信封属性通常很有用。在 BizTalk Server 中,你可以使用EdiOverride 上下文属性来指定用于在出站文档上生成 EDI 信封的值。
使用 EdiOverride 上下文属性
EdiOverride 上下文属性提供一种方法来重写全部或部分用于生成 EDI 信封的值。EDI 发送管道将使用包含一个有效值的EdiOverride 上下文属性来构造信封。如果未填充某个属性,则管道将使用协议属性中所指定的值;而如果还未定义协议,则将使用后备协议属性中所指定的值。如果某个属性包含无效值,则管道将挂起消息并报告一个验证错误。便笺 |
仅在将EdiOverride.OverrideEdiHeader属性写入到消息的上下文,且包含一个“True”值时,才使用在 EdiOverride 集合中指定的值。 未设置默认值。 |
X12 信封值的EdiOverride 属性
下表显示了 EdiOverride 上下文属性以及相应的 X12 信封标头:标头 | 属性 |
交换控制标头 (ISA) | ISA01、ISA02、ISA03、ISA04、ISA05、ISA06、ISA07、ISA08、ISA09、ISA10、ISA11、ISA12、ISA13、ISA14、ISA15、ISA16 |
功能组标头 (GS) | GS01、GS02、GS03、GS04、GS05、GS06、GS07、GS08 |
事务集标头 | ST02 |
EDIFACT 信封值的EdiOverride 属性
下表显示了 EdiOverride 上下文属性以及相应的EDIFACT 信封段:段 | 属性 |
服务字符串建议 (UNA) | UNA1、UNA2、UNA3、UNA4、 UNA5、UNA6、UNA6Suffix |
交换控制标头 (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 |
功能组标头 (UNG) | UNG1、UNG2_1、UNG2_2、UNG3_1、UNG3_2、UNG4_1、UNG4_2、UNG5、UNG6、UNG7_1、UNG7_2、UNG7_3、UNG8 |
消息标头 (UNH) | UNH1 |
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 标头)值时,必须确保每个分隔符的值不仅在你所重写的值中是唯一的,还应在协议或后备协议设置中所使用的任何分隔符中是唯一的。例如,如果你重写协议属性中的 UNA1、UNA2、UNA4、UNA3、UNA5、UNA6 和UNA6Suffix,则每个属性必须包含与其他值不同的唯一值。
相关文章推荐
- BizTalkServer 如何发送 EDI 消息(3)
- BizTalk Server 如何发送 EDI 消息(4)
- BizTalk Server 如何发送 EDI 消息(2)
- BizTalkServer 如何接收 EDI 消息(1)
- BizTalkServer 如何接收 EDI 消息(6)
- BizTalkServer 如何接收 EDI 消息(7)
- BizTalkServer 如何发送 EDI 消息(1)
- BizTalk Server 基于消息的基本数据交换(一) - 发送端口直接订阅接收端口
- BizTalkServer 如何接收 EDI 消息(2)
- BizTalkServer 如何接收 EDI 消息(3)
- BizTalkServer 如何接收 EDI 消息(4)
- BizTalkServer 如何接收 EDI 消息(5)
- BizTalk Server 如何处理大消息
- BizTalk Server 基于消息的基本数据交换(一) - 发送端口直接订阅接收端口
- 如何解决消息发送一致性
- RocketMQ原理解析-producer 3.如何发送顺序消息
- GCM 发送接收消息 Message Client Server 服务器端,客户端
- 如何用sendmessage(postmessage)往webbrowse里发送鼠标消息
- 如何把SKYPE的发送消息由enter改为ctrl+enter?
- [BTS][收藏]如何通过BizTalk Server 2006 Exam (70-235)