Übergeben von unveränderten Daten über eine Wertezuordnung

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

Startseite >  Erstellen von Mappings > Verwendung von Wertezuordnungen >

Übergeben von unveränderten Daten über eine Wertezuordnung

In diesem Abschnitt wird eine Mapping-Situation beschrieben, in der bestimmte Node-Daten transformiert werden müssen, während die restlichen Node-Daten unverändert an den Ziel-Node übergeben werden müssen.

 

Ein Beispiel dafür wäre eine Firma, die einige der Berufsbezeichnungen in einer ihrer Niederlassungen ändert. In diesem Fall sollen zwei Berufsbezeichnungen (Title) geändert werden, während der Rest unverändert beibehalten werden soll.

valtitle1

Oben sehen Sie ein Mapping dafür, in dem, wie erwartet, zum Transformieren der betreffenden Bezeichnungen eine Wertezuordnungskomponente verwendet wird.

Wenn Sie auf die Schaltfläche "Ausgabe" klicken, sehen Sie das Ergebnis des Mappings.

 

valtitle3

 

Bei den Personen, deren Berufsbezeichnung (Title) mit keinem der beiden in der Wertezuordnungskomponente angezeigten Typen übereinstimmt, wird das Element "Title" in der Ausgabedatei gelöscht.

valtitle2

Mögliche Alternative:

Wenn Sie das Kontrollkästchen Andernfalls aktivieren und eine Ersatzbezeichnung eingeben, wird die Berufsbezeichnung in der Ausgabedatei zwar wieder angezeigt, enthält aber bei allen Personen in der Firma nun dieselbe neue Berufsbezeichnung.

 

Lösung

Erstellen Sie eine benutzerdefinierte Funktion, die die Wertezuordnungskomponente enthält und verwenden Sie die substitute-missing-Funktion, um an leere Nodes die Originaldaten zu übergeben.

 

1.Klicken Sie auf die value-map-Komponente und wählen Sie den Befehl Funktion | Benutzerdefinierte Funktion von Auswahl erstellen.

 

valtitle4

 

2.Geben Sie einen Namen für die Funktion ein, z.B. Pass-Through und klicken Sie auf OK.

 

valtitle5

 

3.Fügen Sie eine substitute-missing-Funktion aus dem Abschnitt core | node function des Bibliotheksfensters ein und stellen Sie, wie in der Abbildung unten gezeigt, die Verbindungen her.

 

valtitle6

 

4.Klicken Sie auf die Schaltfläche "Ausgabe", um das Ergebnis zu sehen:

 

 

Mapping-Ergebnis:

 

Die beiden Berufsbezeichnungen in "Title" wurden in "New Title" transformiert.
Alle anderen Title-Nodes der Quelldatei behalten ihre ursprünglichen Title-Daten in der Zieldatei bei.

 

valtitle7

 

Warum geschieht das?

Die Wertezuordnungskomponente wertet die Input-Daten aus.

 

Wenn die eingehenden Daten mit einem der Einträge in der ersten Spalte übereinstimmen, werden die Daten transformiert und an den Node-Parameter von substitute-missing und dann weiter an Title2 übergeben.
Wenn die eingehenden Daten mit keinem der Einträge in der linken Spalte übereinstimmen, wird kein Wert von der Wertezuordnung an den Node-Parameter übergeben, d.h. dies ist ein leerer Node.

 

Wenn das passiert, ruft die substitute-missing-Funktion den Original-Node und die Daten aus dem Title-Node ab und übergibt diese über den replace-with Parameter an Title2.


© 2019 Altova GmbH