- Erstellen Sie in der Ansicht 'Brokeranwendungsentwicklung' folgende Ressourcen:
- ein Nachrichtengruppenprojekt und eine Nachrichtengruppe namens 'MAPPING3_COMPLEX_messages'. Stellen Sie dabei sicher, dass die Nachrichtengruppe für Namespaces mit physischem XML-Format aktiviert ist,
- eine Nachrichtendefinitionsdatei namens 'COMPLEX' mit dem Ziel-Namespace 'www.complex.net' und dem Präfix 'comp'
- Erstellen Sie die Nachrichten 'addev1', 'addev1s' und 'addev1n' mit folgenden Strukturen:
addev1
bool (xsd:boolean) lokales Element
bin (xsd:hexBinary) lokales Element
dat (xsd:dateTime) lokales Element
dec (xsd:decimal) lokales Element
dur (xsd:duration) lokales Element
flt (xsd:float) lokales Element
int (xsd:int) lokales Element
str (xsd:string) lokales Element
addev1s
bin (xsd:hexBinary) lokales Element
dat (xsd:dateTime) lokales Element
dur (xsd:duration) lokales Element
str (xsd:string) lokales Element
addev1n
dec (xsd:decimal) lokales Element
flt (xsd:float) lokales Element
int (xsd:int) lokales Element
- Erstellen Sie ein Nachrichtenflussprojekt namens 'MAPPING3_COMPLEX_flows'.
- Erstellen Sie einen Nachrichtenfluss namens 'addev1' mit folgendem Inhalt:
MQEmpfangsknoten ->Filterknoten -> Zuordnungsknoten -> Rechenknoten
\ \ --> RCD -> MQOutput
\-> Mapping1-----------/
- Geben Sie im Filterknoten folgende ESQL an:
IF Body.bool THEN
RETURN TRUE;
ELSE
RETURN FALSE;
END IF;
- Öffnen Sie im Zuordnungsknoten, der mit dem True-Terminal des Filterknotens (Mapping1) verbunden ist, die Zuordnung, und wählen Sie 'addev1' als Quelle und 'addev1s' als Ziel aus.
- Verbinden Sie die Quelle mit dem Ziel wie folgt:
bin --- bin
dat --- dat
dur --- dur
str --- str
- Erweitern Sie im Spreadsheetfenster die Eigenschaften, und richten Sie folgende Werte ein:
MessageType | 'addev1s'
- Klicken Sie mit der rechten Maustaste auf das Ziel 'dat', und wählen Sie dann die Option If aus.
- Ersetzen Sie die Bedingung 'fn:true()' durch $source/comp:addev1/str
= 'dat'.
- Setzen Sie den Wert für 'dat' auf $source/comp:addev1/dat + xs:duration("P3M").
- Klicken Sie mit der rechten Maustaste auf die Bedingung, und wählen Sie dann die Option Else aus.
- Klicken Sie mit der rechten Maustaste auf das Ziel 'dur', und wählen Sie dann die Option If aus.
- Ersetzen Sie die Bedingung 'fn:true()' durch $source/comp:addev1/str
= 'dur'.
- Setzen Sie den Wert für 'dur' auf $source/comp:addev1/dur + xs:duration("P1Y").
- Klicken Sie mit der rechten Maustaste auf die Bedingung, und wählen Sie dann die Option Else aus.
- Öffnen Sie die Zuordnung für den Knoten, der mit dem False-Terminal des Filterknotens (Mapping) verbunden ist, und wählen Sie 'addev1' als Quelle und 'addev1n' als Ziel aus.
- Verbinden Sie die Quelle mit dem Ziel wie folgt:
dec --- dec
flt --- flt
int --- int
- Erweitern Sie im Spreadsheetfenster die Eigenschaften, und richten Sie folgende Werte ein:
MessageType | 'addev1n'
- Setzen Sie die ESQL im Rechenknoten auf:
CALL CopyMessageHeaders();
SET OutputRoot.MRM.dec = InputBody.dec * 10;
SET OutputRoot.MRM.flt = InputBody.flt * 10;
SET OutputRoot.MRM.int = InputBody.int * 10;
- Setzen Sie im Knoten 'Deskriptor_für_Neuanalyse' die Nachrichtendomäne auf XMLNS, und aktivieren Sie das Kontrollkästchen Nachrichtendomäne zurücksetzen.
- Erstellen Sie drei Instanznachrichten mit den entsprechenden RFH2-Headern:
<comp:addev1 xmlns:comp="http://www.complex.net">
<bool>1</bool>
<bin><![CDATA[010203]]></bin>
<dat>2005-05-06T00:00:00+00:00</dat>
<dec>19.34</dec>
<dur>P2Y4M</dur>
<flt>3.245E+2</flt>
<int>2104</int>
<str>dat</str>
</comp:addev1>
<comp:addev1 xmlns:comp="http://www.complex.net">
<bool>1</bool>
<bin><![CDATA[010203]]></bin>
<dat>2005-05-06T00:00:00+00:00</dat>
<dec>19.34</dec>
<dur>P2Y4M</dur>
<flt>3.245E+2</flt>
<int>2104</int>
<str>dur</str>
</comp:addev1>
<comp:addev1 xmlns:comp="http://www.complex.net">
<bool>0</bool>
<bin><![CDATA[010203]]></bin>
<dat>2005-05-06T00:00:00+00:00</dat>
<dec>19.34</dec>
<dur>P2Y4M</dur>
<flt>3.245E+2</flt>
<int>2104</int>
<str>dat</str>
</comp:addev1>
Setzen Sie nun die Nachrichtengruppe und den Nachrichtenfluss ein.