Variablen
Bei Variablen handelt es sich um eine spezielle Art von Komponente, in der ein Mapping-Zwischenergebnis für die weitere Verarbeitung gespeichert wird. Variablen können einen simpleType (z.B. String, Ganzzahl, Boolsche Werte, usw.) oder complexType (eine Baumstruktur) haben. Beispiele für diese beiden Arten finden Sie in den Unterabschnitten weiter unten.
Einer der wichtigsten Aspekte von Variablen ist, dass es sich dabei um Sequenzen handelt und dass sie zum Erstellen von Sequenzen verwendet werden können. Mit dem Begriff Sequenz wird eine Liste von null oder mehr Datenelementen bezeichnet. Dadurch können mit Hilfe einer Variable mehrere Datenelemente im Laufe des Mappings verarbeitet werden. Nähere Informationen dazu finden Sie auch unter Mapping-Regeln und Strategien. Sie können einer Variablen auch ein Mal einen Wert zuweisen und diesen Wert im restlichen Mapping beibehalten. Nähere Informationen dazu finden Sie unter Ändern von Kontext und Geltungsbereich von Variablen.
Nähere Informationen zum Hinzufügen einer Variablen finden Sie unter Hinzufügen einer Variablen.
Einfache Variablen
Eine einfache Variable dient zur Darstellung eines atomaren Typs wie z.B. Strings, Zahlen und Booleschen Werten (siehe Abbildung unten).
Komplexe Variablen
Eine komplexe Variable hat eine Baumstruktur. In der Liste unten sehen Sie, auf welchen Strukturen eine komplexe Variable basieren kann.
MapForce Basic Edition:
•XML-Schema-Struktur
MapForce Professional Edition:
•XML-Schema-Struktur
•Datenbankstruktur
MapForce Enterprise Edition:
•XML-Schema-Struktur
•Datenbankstruktur
•EDI-Struktur
•FlexText Structure
•JSON-Schema-Struktur
Beispiel 1: Auf einem XML-Schema basierende Variable
Sie können eine Variable vom Typ complexType erstellen, indem Sie ein XML-Schema bereitstellen, das die Struktur der Variablen beschreibt (siehe Abbildung unten). Wenn das Schema globale Elemente enthält, können Sie auswählen, welches davon den Root-Node der Variablenstruktur bilden soll. Beachten Sie, dass mit einer Variablen keine XML-Instanzdatei verknüpft ist. Die Daten der Variablen werden zur Mapping-Laufzeit berechnet.
Beispiel 2: Auf einer Datenbank basierende Variable (MapForce Professional und Enterprise Edition)
Wenn Sie eine Datenbankstruktur für Ihre Variable auswählen (siehe Abbildung unten), können Sie eine bestimmte Datenbanktabelle als Root-Datenelement für die Variablenstruktur auswählen. Sie können in MapForce datenbankbasierte Variablen mit einer Struktur damit in Zusammenhang stehender Tabellen erstellen.
Die Struktur dieser Tabellen bildet eine speicherresidente Struktur, die keine Verbindung zur Datenbank zur Laufzeit hat. Die Variable beschreibt nur die Struktur, macht aber nichts mit den Daten. Daraus ergibt sich Folgendes:
•Keine Validierung auf Basis des Datentyps
•Keine Möglichkeit der Verwendung des SQL WHERE-Filters
•Keine Tabellenaktionen in Parametern oder Variablen
•Keine automatische Behandlung von Sekundärschlüsseln
•Keine Primär-/Sekundärschlüsselüberprüfung
Compute-when
In beiden Beispielen oben hat jede Variable ein Datenelement namens compute-when. Die Verbindung mit diesem Datenelement ist optional. Dadurch können Sie festlegen, wie der Variablenwert im Mapping berechnet werden soll. Nähere Informationen dazu finden Sie unter Ändern von Kontext und Geltungsbereich von Variablen.
Variablen mit duplizierten Inputs
Falls nötig, können Datenelemente einer Variablenstruktur dupliziert werden, damit Daten aus mehr als einer Quellverbindung verbunden werden können. Dies ist ähnlich dem Duplizieren von Inputs in Standardverbindungen. In der Abbildung unten sehen Sie eine einfache Variable mit duplizierten Inputs.
Verkettete Mappings im Gegensatz zu Variablen
Variablen können mit Zwischenkomponenten eines verketteten Mappings verglichen werden. Sie sind jedoch flexibler und praktischer, wenn in den einzelnen Phasen des Mappings keine Zwischendateien erzeugt werden müssen. In der folgenden Tabelle wurden die Unterschiede zwischen Variablen und verketteten Mappings gegenübergestellt.
Verkettete Mappings | Variablen |
---|---|
Verkettete Mappings bestehen aus zwei voneinander unabhängigen Schritten. So kann ein Mapping z.B. aus den drei Komponenten A, B, und C bestehen. Schritt 1: Mappen der Daten A auf die Daten B. Schritt 2: Mappen der Daten von B auf C. | Sie können steuern, wann und wie oft der Variablenwert bei der Ausführung des Mappings berechnet wird. Nähere Informationen dazu finden Sie unter Ändern von Kontext und Geltungsbereich von Variablen. |
Wenn das Mapping ausgeführt wird, werden die Zwischenergebnisse extern in Dateien gespeichert.
| Wenn das Mapping ausgeführt wird, werden die Zwischenergebnisse intern gespeichert. Es werden keine externen Dateien, die die Ergebnisse einer Variablen enthalten, erzeugt. |
Das Zwischenergebnis kann über die Vorschau-Schaltfläche in einer Vorschau angezeigt werden. | Sie können keine Vorschau auf das Ergebnis einer Variablen anzeigen, da diese zur Mapping-Laufzeit berechnet wird. Sie können die durch die Variable erzeugten Daten jedoch mit Hilfe des Debuggers anzeigen. |
Anmerkung: | Variablen werden nicht unterstützt, wenn als Mapping-Transformationssprache XSLT 1.0 ausgewählt ist. |