使用消息标识标识嵌入式消息

它描述您如何能使用消息标识来标识嵌入式消息。 使用消息标识来标识嵌入式消息是一种代替使用消息键的技术。

当多段式消息具有如下面图 1 中所示这样的格式时,消息标识技术对于标识嵌入式消息很有用。

图 1. 多段式消息结构多段式消息结构

在本示例中,消息头和消息尾部可以充当消息体的封包。它们通常有固定的结构,尽管可以用很多不同的结构来定义消息体。

通过将消息体的复杂类型或组的组合属性设置为消息来创建占位符。 这允许在外部消息中的该点上添加嵌入式消息,从而创建多段式消息。

当使用消息标识技术来解析这样一个多段式消息时,必须使用消息标识元素,在消息头中较早地标识嵌入式消息。 这是一个在模型中出现在嵌入式消息前面的字符串元素(或属性),其将值解释为属性设置为消息标识

如果将多段式消息输入到消息流,消息标识元素的值应对应于位流中下一条嵌入式消息的名称消息别名。 这使得 MRM 解析器能正确地在模型中标识嵌入式消息。

如果消息标识元素值不匹配消息的名称,您应使用消息别名属性来指定此值。 MRM 解析器将首先尝试匹配名称,如果未能匹配,它将尝试匹配消息别名

一旦 MRM 解析器遇到了消息标识元素,其值会应用到当前消息中直接包含的所有嵌入式消息。 它不会应用到嵌入式消息内的嵌入式消息;任何嵌入式消息的标识必须由它的直接父消息内的消息标识元素提供。

如果在当前消息中遇到第二个消息标识元素,其值会覆盖任何先前保存的值。 这使得一条给定的消息中能存在不同级的嵌入式消息。

消息标识的优先级高于消息路径。如果两者均已指定,则使用消息标识。对于一个给定的多段式消息应仅使用这些技术中的某一个。

在不同消息集中定义的嵌入式消息

缺省情况下,假定嵌入式消息定义在与当前消息同一个消息集中。 这可以使用消息集标识来覆盖,消息集标识的工作方式与消息标识非常类似。

在其他消息集中定义的嵌入式消息,必须使用消息集标识元素在消息中提前标识其消息集。这是一个在模型中出现在嵌入式消息前面的字符串元素(或属性),其将值解释为属性设置为消息集标识

如果将多段式消息输入到消息流,消息集标识元素的值应对应于位流中下一条嵌入式消息的标识、名称消息集别名。 这使得 MRM 解析器能正确地识别要使用的消息集。

如果消息集标识元素值不匹配消息集的标识名称,您应使用消息集别名属性来指定此值。 MRM 解析器将首先尝试匹配标识,然后尝试匹配名称,最后尝试匹配消息集别名

一旦 MRM 解析器遇到了消息集标识元素,其值会应用到当前消息中包含的所有嵌入式消息。 它还应用到嵌入式消息中的嵌入式消息,除非嵌入式消息也包含消息集标识元素。

如果在当前消息中遇到第二个消息集标识元素,其值会覆盖任何先前保存的值。 这使得同级嵌入式消息能位于不同的消息集中。

下面的 X12 消息示例显示了同时使用消息标识和消息集标识。 在行 0002 上,GS 段内包含 004010X092 的字段将消息集标识作为消息集别名保存。行 0003 上 ST 段中的 207 是作为消息别名保存的消息标识。 嵌入式消息从行 0004 到行 0015(含)。

注: 每行开头处的行号和空格仅用于说明,在实际消息中不存在。
0001  ISA*00*          *00*          *30*12-3456789     *ZZ
      *9876543-21     *000104*1820*U*00401*000000001*0*T*:!
0002  GS*HS*HOSP CLAIM*PAYER ADJDEPT*20000104*1820*1*X*004010X092!
0003  ST*270*1234!
0004  BHT*0022*13*10001234*19990501*1319!
0005  HL*1**20*1!
0006  NM1*PR*2*ABCCOMPANY*****PI*842610001!
0007  HL*2*1*21*1!
0008  NM1*1P*2*BONE AND JOINT CINIC*****SV*2000035!REF*N7*234899!
0009  N3*55*HIGH STREET!
0010  N4*SEATTLE*WA*98123!
0011  HL*3*2*22*0!TRN*1*93175-12547*9877281234!
0012  NM1*IL*1*SMITH*ROBERT*B***MI*11122333301!
0013  REF*1L*599119!
0014  DMG*D8*19430519*M!
0015  DTP*472*RD8*19990501-19990515!EQ*30**FAM!SE*17*1234!
0016  GE*1*1!IEA*1*000000001!

物理格式注意事项

消息标识 和消息集标识都能适用于所有物理格式。V6.0 之前的 TDS 物理格式的版本包含了通过消息键标识嵌入式消息,其工作方式与消息标识类似,但仅适用于 TDS。 消息键已不推荐使用,而被消息标识取代。

声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ad00761_