Eingebettete Nachricht über eine Nachrichten-ID identifizieren

Hier wird beschrieben, wie eine eingebettete Nachricht über die Nachrichten-ID identifiziert werden kann. Das Nachrichten-ID-Verfahren zum Identifizieren einer eingebetteten Nachricht ersetzt die Identifizierung über den Nachrichtenschlüssel.

Dieses Verfahren wird von der MRM-Domäne eingesetzt.

Das Nachrichten-ID-Verfahren zum Identifizieren eingebetteter Nachrichten ist hilfreich, wenn eine mehrteilige Nachricht ein Format wie das im Diagramm gezeigte Format aufweist:

Struktur einer mehrteiligen Nachricht

In diesem Beispiel dienen der Nachrichtenheader (Message Header) und Nachrichtentrailer (Message Trailer) als Umschlag für den Nachrichteninhalt. Sie besitzen in der Regel eine festgelegte Struktur, der Nachrichtenhauptteil (Message Body) kann jedoch mit vielen verschiedenen Strukturen definiert sein.

Ein Platzhalter für eine eingebettete Nachricht wird erstellt, indem die Eigenschaft Zusammensetzung des komplexen Typs oder der Gruppe des Elements 'Nachrichtenhauptteil' auf Nachricht gesetzt wird. Dadurch ist es möglich, an dieser Stelle innerhalb der äußeren Nachricht eine eingebettete Nachricht hinzuzufügen und so eine mehrteilige Nachricht zu erzeugen.

Wenn zum Analysieren einer solchen mehrteiligen Nachricht das Nachrichten-ID-Verfahren eingesetzt wird, muss die eingebettete Nachricht vorher im Nachrichtenheader (Message Header) über ein Nachrichten-ID-Element (Message Identity) identifiziert werden. Dabei handelt es sich um ein Zeichenfolgeelement (oder Attribut), das der eingebetteten Nachricht im Modell vorausgeht und dessen Eigenschaft Interpret Value As (Wert interpretieren als) auf Message Identity (Nachrichten-ID) gesetzt ist.

Wenn eine mehrteilige Nachricht in einen Nachrichtenfluss eingegeben wird, sollte das Nachrichten-ID-Element einen Wert haben, der entweder dem Wert der Option Name oder der Option Nachrichtenaliasname der nächsten eingebetteten Nachricht im Bitstrom entspricht. Dadurch kann der MRM-Parser die eingebettete Nachricht im Modell richtig identifizieren.

Verwenden Sie in Fällen, in denen der Wert des Elements 'Nachrichtenidentität' nicht dem Wert der Option Name der Nachricht entspricht, die Eigenschaft Nachrichtenaliasname, um diesen Wert anzugeben. Der MRM-Parser führt zuerst einen Abgleich mit dem Wert von Name durch und, wenn dieser fehlschlägt, einen weiteren Abgleich mit dem Wert von Nachrichtenaliasname.

Sobald der MRM-Parser ein Nachrichten-ID-Element gefunden hat, gilt dessen Wert für alle eingebetteten Nachrichten, die unmittelbar in der aktuellen Nachricht enthalten sind. Dies gilt nicht für eingebettete Nachrichten innerhalb von eingebetteten Nachrichten. Jede eingebettete Nachricht muss eine eigene Identität besitzen, die durch ein Nachrichten-ID-Element innerhalb der ihr unmittelbar übergeordneten Nachricht bereitgestellt wird.

Wenn innerhalb der aktuellen Nachricht ein zweites Nachrichten-ID-Element gefunden wird, überschreibt dessen Wert jeden zuvor gespeicherten Wert. Auf diese Weise können eingebettete Nachrichten verschiedener Peers innerhalb einer bestimmten Nachricht existieren.

Das Nachrichten-ID-Verfahren hat Vorrang vor dem Nachrichtenpfad-Verfahren. Wenn beide Verfahren angegeben sind, wird das Nachrichten-ID-Verfahren eingesetzt. Es wird empfohlen, für eine bestimmte mehrteilige Nachricht immer nur eines dieser Verfahren zu verwenden.

Eingebettete Nachrichten, die in verschiedenen Nachrichtengruppen definiert sind

Standardmäßig wird vorausgesetzt, dass eine eingebettete Nachricht innerhalb derselben Nachrichtengruppe wie die aktuelle Nachricht definiert ist. Diese Standardeinstellung kann durch eine Nachrichtengruppen-ID (Message Set Identity), die auf ähnliche Weise wie eine Nachrichten-ID (Message Identity) funktioniert, außer Kraft gesetzt werden.

Die Nachrichtengruppe einer eingebetteten Nachricht, die in einer anderen Nachrichtengruppe definiert ist, muss an einer früheren Stelle in der Nachricht über ein Nachrichtengruppen-ID-Element identifiziert werden. Dabei handelt es sich um ein Zeichenfolgeelement (oder Attribut), das der eingebetteten Nachricht im Modell vorausgeht und dessen Eigenschaft Interpret Value As (Wert interpretieren als) auf Message Set Identity (Nachrichtengruppen-ID) gesetzt ist.

Wenn eine mehrteilige Nachricht in einen Nachrichtenfluss eingegeben wird, sollte das Identitätselement der Nachrichtengruppe einen Wert haben, der entweder dem Wert der Option ID, Name oder Aliasname für Nachrichtengruppe der Nachrichtengruppe entspricht, in der die nächste eingebettete Nachricht im Bitstrom definiert ist. Dadurch kann der MRM-Parser die zu verwendende Nachrichtengruppe richtig identifizieren.

Wenn der Wert des Nachrichtengruppen-ID-Elements nicht dem Wert der Option ID oder Name der Nachrichtengruppe entspricht, müssen Sie zur Angabe dieses Wertes die Eigenschaft Aliasname für Nachrichtengruppe verwenden. Der MRM-Parser führt zuerst einen Abgleich mit dem Wert von ID, dann mit dem Wert von Name und schließlich mit dem Wert von Aliasname für Nachrichtengruppe durch.

Sobald der MRM-Parser ein Nachrichtengruppen-ID-Element gefunden hat, gilt dessen Wert für alle eingebetteten Nachrichten, die in der aktuellen Nachricht enthalten sind. Er gilt auch für eingebettete Nachrichten innerhalb von eingebetteten Nachrichten, außer wenn eine eingebettete Nachricht ebenfalls ein Nachrichtengruppen-ID-Element enthält.

Wenn innerhalb der aktuellen Nachricht ein zweites Nachrichtengruppen-ID-Element gefunden wird, überschreibt dessen Wert jeden zuvor gespeicherten Wert. Dadurch ist es möglich, dass sich eingebettete Nachrichten von Peers in verschiedenen Nachrichtengruppen befinden.

Das folgende Beispiel einer X12-Nachricht zeigt die Verwendung sowohl des Nachrichten-ID- als auch des Nachrichtengruppen-ID-Verfahrens. Das Feld, das in Zeile 0002 innerhalb des GS-Segments den Wert 004010X092 enthält, enthält die Nachrichtengruppen-ID in Form der Eigenschaft Aliasname für Nachrichtengruppe. Der Wert 270 in Zeile 0003 im ST-Segment ist die Nachrichten-ID in Form eines Nachrichtenaliasnamens. Die eingebettete Nachricht reicht von Zeile 0004 bis einschließlich Zeile 0015.

Anmerkung: Die Zeilennummern und Leerzeichen am Anfang der Zeilen dienen lediglich der besseren Übersichtlichkeit, in der eigentlichen Nachricht sind sie nicht enthalten.
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!

Hinweise zum physischen Format

Sowohl das Nachrichten-ID- als auch das Nachrichtengruppen-ID-Verfahren können für alle physischen Formate eingesetzt werden. In Versionen des physischen TDS-Formats vor Version 6.0 erfolgte die Identifizierung von eingebetteten Nachrichten über den Nachrichtenschlüssel (Message Key), ein Verfahren, das ähnlich funktionierte wie das Nachrichten-ID-Verfahren. Der Nachrichtenschlüssel wird nicht weiter unterstützt und wurde durch die Nachrichten-ID abgelöst.

Zugehörige Konzepte
Mehrteilige Nachrichten
Eingebettete Nachricht über einen Nachrichtenpfad identifizieren
Physisches XML-Format: mehrteilige Nachrichten
Physisches MRM-XML-Format: mehrteilige Nachrichten
TDS-Format: mehrteilige Nachrichten
Zugehörige Tasks
Eine mehrteilige Nachricht erstellen
Zugriff auf eingebettete Nachrichten in der MRM-Domäne
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Letzte Aktualisierung : 2009-02-17 15:28:32

ad00761_