Daten in einer Nachricht umsetzen

Sie können Daten aus einem Format in ein anderes umsetzen.

Ein typisches Beispiel für die Notwendigkeit zur Umsetzung von Daten ist, wenn die Elemente in einer Nachricht durch Namen identifiziert werden, während sie in einer anderen Nachricht mit Nummern versehen sind. Beispiel:

Typname          Typcode

Confectionary      2000
Newspapers         3000
Hardware           4000

Sehen Sie sich folgende Eingabenachricht an:

<Data>
  <Items>
    <Item>
      <Cat>1000</Cat>
      <Description>Milk Chocolate Bar</Description>
      <Type>Confectionary</Type>
    </Item>
    <Item>
      <Cat>1001</Cat>
      <Description>Daily Newspaper</Description>
      <Type>NewsPapers</Type>
    </Item>
    <Item>
      <Cat>1002</Cat>
      <Description>Kitchen Sink</Description>
      <Type>Hardware</Type>
    </Item>
  </Items>
  <TranslateTable>
    <Translate>
      <Name>Confectionary</Name>
      <Number>2000</Number>
    </Translate>
    <Translate>
      <Name>NewsPapers</Name>
      <Number>3000</Number>
    </Translate>
    <Translate>
      <Name>Hardware</Name>
      <Number>4000</Number>
    </Translate>
  </TranslateTable>
</Data>

Diese Nachricht enthält zwei Abschnitte: Der erste Abschnitt besteht aus einer Liste mit Elementen, wobei jedem Element eine Katalognummer und ein Typ zugeordnet ist; der zweite Abschnitt ist eine Tabelle zur Umsetzung von beschreibenden Typnamen in numerische Typcodes. Fügen Sie für diese Nachricht einen Compute-Knoten mit der folgenden Umsetzung ein:

SET OutputRoot.XMLNS.Result.Items.Item[] = 
   (SELECT M.Cat, M.Description, T.Number As Type
     FROM 
       InputRoot.XMLNS.Data.Items.Item[]               As M,
       InputRoot.XMLNS.Data.TranslateTable.Translate[] As T
     WHERE M.Type = T.Name
   );

Es wird folgende Ausgabenachricht generiert:

<Result>
  <Items>
    <Item>
      <Cat>1000</Cat>
      <Description>Milk Chocolate Bar</Description>
      <Type>2000</Type>
    </Item>
    <Item>
      <Cat>1001</Cat>
      <Description>Daily Newspaper</Description>
      <Type>3000</Type>
    </Item>
    <Item>
      <Cat>1002</Cat>
      <Description>Kitchen Sink</Description>
      <Type>4000</Type>
    </Item>
  </Items>
</Result>

Im Ergebnis wurde jeder Typname in den entsprechenden Code konvertiert. In diesem Beispiel befanden sich die Daten und die Umsetztabelle in derselben Nachrichtenbaumstruktur, dies ist jedoch keine Voraussetzung. Die Umsetztabelle kann beispielsweise auch in einer Datenbank codiert sein oder in der lokalen Umgebung von einem vorherigen Compute-Knoten konfiguriert worden sein.

Zugehörige Konzepte
Nachrichtenflüsse - Übersicht
Übersicht zu ESQL
Nachrichten modellieren
Zugehörige Tasks
Nachrichtenfluss entwerfen
Nachrichtenflussinhalte definieren
ESQL-Dateien verwalten
Zugehörige Verweise
Compute-Knoten
Database-Knoten
Filter-Knoten
ESQL-Referenz
SELECT-Funktion
SET-Anweisung
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Feedback

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

ak05790_