Verwendung von Variablen

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Erstellen von Mappings >

Verwendung von Variablen

Bei Variablen handelt es sich um eine spezielle Art von Komponente, in denen ein Mapping-Zwischenergebnis für die weitere Verarbeitung gespeichert wird. Sie werden manchmal in Situationen benötigt, in denen bestimmte Daten im Mapping temporär gespeichert und auf eine bestimmte Art (z.B. durch Filterung oder Anwendung von Funktionen) verarbeitet werden sollen, bevor sie in die Zielkomponente kopiert werden.

 

Variablen können einen simpleType (z.B. String, Ganzzahl, Boolsche Werte, usw.) oder complexType (eine Baumstruktur) haben.

mf_variable_simple

Einfache Variable

Sie können eine Variable vom Typ complexType erstellen, indem Sie ein XML-Schema bereitstellen, das die Struktur der Variablen beschreibt. Wenn Elemente im Schema global definiert sind, können Sie auswählen, welches davon als Root-Node der Variablenstruktur verwendet werden soll. Beachten Sie, dass eine Variable keine damit verknüpfte XML-Instanzdatei hat; Die Daten der Variablen werden zur Mapping-Laufzeit berechnet.

mf_variable_complex_schema

Komplexe, anhand eines XML-Schemas erstellte Variable

Variablen vom Typ complexType können auch anhand von Datenbanken, EDI-Dateien oder FlexText-Vorlagen (Nähere Informationen zu FlexText-Vorlagen finden Sie unter MapForce FlexText) erstellt werden. Im Fall von Datenbanken können Sie eine bestimmte Datenbanktabelle als Root-Datenelement für die Variablenstruktur auswählen.

mf_variable_complex_db

Komplexe, anhand einer Datenbanktabelle erstellte Variable

In den Abbildungen oben sehen Sie, dass jede Variable ein Datenelement namens compute-when hat. Die Verbindung dieses Datenelements ist optional; auf diese Art können Sie festlegen, wie der Variablenwert im Mapping berechnet werden soll (siehe Ändern von Kontext und Geltungsbereich von Variablen).

 

Falls nötig, können Datenelemente einer Variablenstruktur dupliziert werden, damit Daten, ähnlich wie bei Standardkomponenten (siehe Input duplizieren) aus mehr als einer Quellverbindung verbunden werden können. Dies gilt jedoch nicht für Variablen, die anhand von Datenbanktabellen erstellt wurden.

mf_variable_simple_duplicated

Einfache Variable mit duplizierten Inputs

Einer der wichtigsten Punkte bei Variablen ist die Tatsache, dass es sich dabei um Sequenzen handelt und dass diese zur Erstellung von Sequenzen verwendet werden können. Mit dem Begriff "Sequenz" wird hier eine Liste von null oder mehr Datenelementen bezeichnet (siehe auch Mapping-Regeln und -Strategien). Auf diese Art kann eine Variable mehrere Datenelemente im Laufe eines Mappings verarbeiten. Allerdings ist es auch möglich, einer Variablen einen einzigen Wert zuzuweisen und diesen über das gesamte Mapping hinweg beizubehalten (siehe Ändern von Kontext und Geltungsbereich von Variablen).

 

Bis zu einem gewissen Grad können Variablen mit Zwischenkomponenten eines verketteten Mappings verglichen werden (siehe Verkettete Mappings). Sie sind jedoch flexibler und praktischer, wenn in den einzelnen Phasen des Mappings nicht 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 völlig unabhängigen Schritten. Angenommen, Sie haben ein Mapping bestehend aus den drei Komponenten A, B, und C. Die Ausführung des Mappings erfolgt in zwei Phasen: Ausführung des Mappings von A auf B und anschließend Ausführung des Mappings von B auf C.

Während der Ausführung des Mappings werden Variablen Ihrem Kontext und Geltungsbereich entsprechend ausgewertet. Sie können Einfluss auf ihren Kontext und Geltungsbereich nehmen (siehe Ä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.

Über die Vorschauschaltfläche btn_component_preview_pressed kann eine Vorschau auf die Zwischenergebnisse 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 (siehe Debuggen von Mappings).

 

Anmerkung:Variablen werden nicht unterstützt, wenn als Mapping-Transformationssprache XSLT 1.0 ausgewählt ist.

© 2019 Altova GmbH