Zielelemente aus Datenbanktabellen zuordnen

Richten Sie den Zuordnungsknoten für die Zuordnung eines Zielelements aus einer Datenbanktabelle für folgende Tasks ein:
  • Abrufen der relevanten Zeilen aus der Datenbank
  • Auffüllen der Nachrichtenzielelemente mit Datenbankwerten
Eine Datenbank kann auf mehrere Arten als Quelle für eine Zuordnung hinzugefügt werden (Informationen hierzu in Datenbank zu einer Quelle hinzufügen). Nachdem Sie der Zuordnung eine Datenbank hinzugefügt haben, zeigt das Spreadsheetfenster in der Spalte 'Zuordnungsscript' den Eintrag '$db:select' an. Der Standardwert dieses Eintrags lautet 'fn:true()', d. h., dass alle Zeilen aus der Datenbanktabelle abgerufen werden. In der Datenbank-SQL können Sie die Anzahl der Zeilen beschränken, indem Sie einem Datenbankaufruf eine WHERE-Klausel hinzufügen. In dem Zuordnungsknoten ist die funktional entsprechende Methode zum Beschränken der Anzahl an ausgewählten Zeilen die Verwendung eines '$db:select'-Ausdrucks.

In den folgenden Schritten wird die funktional entsprechende Methode zum Beschränken der Anzahl an ausgewählten Zeilen in einem Zuordnungsknoten gezeigt:

  1. Klicken Sie im Spreadsheetfenster auf die Zeile '$db:select'. Daraufhin wird der Wert 'fn:true()' im Bearbeitungsfenster angezeigt.
  2. Bearbeiten Sie den Ausdruck im Bearbeitungsfenster, um die richtige Bedingung für den Datenbankaufruf anzugeben. Folgende Aktionen sind dabei hilfreich:
    1. Wählen Sie alle Datenbankspalten aus, die für die abzurufenden Zeilen relevant sind, und ziehen Sie sie vom Quellenfenster in das Bearbeitungsfenster. Diese Datenbankspaltennamen werden in einer SQL WHERE-Klausel verwendet.
    2. Wählen Sie alle Quellennachrichtenelemente aus, deren Werte für die abgerufenen Zeilen relevant sind, und ziehen Sie sie vom Quellenfenster in das Bearbeitungsfenster. Mit diesen Werten werden die ausgewählten Datenbankspalten abgeglichen.
    3. Öffnen Sie Content Assist, indem Sie auf Bearbeiten > Content Assist klicken.
    4. Wählen Sie in Content Assist die Funktionen aus, die auf die Nachrichtenelemente im Datenbankaufruf angewendet werden sollen.
Nachfolgend sehen Sie ein Beispiel zu einem '$db:select'-Eintrag, bei dem eine Datenbankspalte mit einer Konstante oder einem Feld einer Eingabenachricht abgeglichen wird:
$db:select_1.BROKER50.JDOE.RESOLVEASSESSOR.ASSESSORTYPE = 'WBI' or $db:select_1.BROKER50.JDOE.
RESOLVEASSESSOR.ASSESSORTYPE = $source/tns:msg_tagIA81CONF/AssessorType 

Da ein '$db:select'-Eintrag alle qualifizierenden Zeilen abruft, können mehrere Zeilen abgerufen werden. Standardmäßig wird die Auswahl als eine sich wiederholende Auswahl behandelt, was durch die Zeile 'for' unter '$db:select' im Spreadsheetfenster angezeigt wird.

Nachdem Sie den Eintrag '$db:select' konfiguriert haben, füllen Sie die Zielnachricht aus der Datenbank auf, indem Sie die Datenbankspalte aus dem Quellenfenster in das Nachrichtenelement im Zielfenster ziehen. Die Zuordnung wird durch eine Linie zwischen der Datenbankspalte im Quellenfenster und dem Element im Zielfenster dargestellt. Zudem wird im Spreadsheetfenster ein Eintrag für diese Zuordnung im Xpath-Format angezeigt. Neben den zugeordneten Objekten werden im Quellen- und im Zielfenster Dreiecke eingeblendet.

Beginn der ÄnderungDatenbankauswahl verwenden

Standardmäßig geht ein '$db:select'-Eintrag mit einer 'for'-Zeile einher, welche die 'select'-Ergebnisliste iteriert. Stellen Sie sicher, dass sich die 'for'-Zeile an der richtigen Position für die Zuordnung befindet. Das Verhalten der Zuordnung wird von der Position der 'for'-Zeile im Spreadsheetfenster bestimmt. Wenn beispielsweise die Ergebnisse der '$db:select'-Anweisung mit 5 Zeilen in der Datenbank übereinstimmen und sich die 'for'-Zeile über dem '$target'-Eintrag im Spreadsheetfenster befindet, werden 5 komplette Nachrichten vom Zuordnungsknoten ausgegeben. Befindet sich die 'for'- Zeile innerhalb des Nachrichtenhauptteils, wird eine Nachricht mit 5 sich wiederholenden Elementen im Nachrichtenhauptteil generiert.

Eine Zuordnung kann mehrere 'for'-Zeilen enthalten, die mit einem '$db:select'-Eintrag verknüpft sind und eine einzige Datenbankauswahl ausführen und mehrmals die Ergebnisse iterieren. Beispiel: Es können mehrere 'for'-Zeilen in bedingten Zuordnungen verwendet werden, bei denen eine einzelne 'for'-Zeile mit 'condition' oder 'else' benutzt wird.

Eine 'for'-Zeile ist nicht immer erforderlich und kann unter folgenden Umständen gelöscht werden:
  • Wenn die Datenbankauswahl nur eine Zeile ausgibt
  • Wenn Sie eine zusammenfassende Xpath-Funktion bei den Ergebnissen von 'select' verwenden

    Beispiel: 'fn:sum' oder 'fn:count'.

Jeder '$db:select'-Ausdruck muss sich innerhalb des Bereichs des '$db:select'-Eintrags im Spreadsheetfenster befinden, d. h. er muss ein untergeordnetes Element der Auswahlanweisung sein. Befindet sich ein '$db:select'-Ausdruck außerhalb des Bereichs, verschiebt der Message Mapping-Editor den '$db:select'-Eintrag an eine Position, bei welcher der '$db:select'-Ausdruck im Gültigkeitsbereich ist. Stellen Sie sicher, dass die Position des '$db:select'-Eintrags für Ihre Nachrichtenzuordnung richtig ist.

Datenbanktabellenverknüpfung

Datenbanktabellenverknüpfung wird für Tabellen innerhalb der gleichen Datenbank unterstützt. Betrachten Sie beispielsweise die beiden folgenden Tabellen, bei denen 'PRODUKT-ID' und 'TEILNUMMER' übereinstimmen:
Tabelle    Spalte        Zeile 1    Zeile 2    Zeile 3 Zeile 4
BESTELLUNG    PRODUKT-ID    456      456      345        123
         MENGE      100      200      300        400

PRODUKT  TEILNUMMER   123      456      789        012
         TEILNAME     Füller      Bleistift   Büroklammer  Kleber
         PREIS         0.25     0.15     0.02       0.99
Ein '$db:select'-Ausdruck mit der folgenden Syntax verknüpft die Tabellen:
$db:select.MY_DB.SCHEMA1.BESTELLUNG.PRODUKT-ID=$db:select.MY_DB.SCHEMA2.PRODUKRT.TEILNUMMER
Der '$db:select'-Ausdruck im Beispiel generiert die folgende Ergebnisliste:
                Zeile 1    Zeile 2    Zeile 3
PRODUKT-ID    456      456      123
MENGE      100      200      400
TEILNUMMER    456      456      123
TEILNAME       Füller   Bleistift   Füller
PREIS           0.15     0.15     0.25
Sie können mit der 'for'-Zeile die Ergebnisliste auf die gleiche Weise durchlaufen wie bei Ergebnissen in einer einzelnen Tabelle.
Ende der Änderung
Zugehörige Konzepte
Nachrichtenzuordnungseditor
Nachrichtenzuordnungen erstellen
Zugehörige Verweise
Mapping-Knoten
Quellenfenster des Nachrichtenzuordnungseditors
Zielfenster des Nachrichtenzuordnungseditors
Bearbeitungsfenster des Nachrichtenzuordnungseditors
Spreadsheetfenster des Nachrichtenzuordnungseditors
Nachrichtenzuordnungen
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ar25267_