Eine schnelle Lösung für komplexe DatenmappingfunktionenFür komplexe Datenkommunikationsanforderungen von heute sind zur Datenkonvertierung oft mehrere Schritte erforderlich. Mit Altova MapForce® 2012 können Sie eine breite Palette an mathematischen und logischen Funktionen, String-Funktionen und anderen Spezialfunktionen grafisch miteinander kombinieren, um komplexe "Datengleichungen" zur Generierung der gewünschten Ergebnisse zu erstellen. Wenn Sie an einem umfangreichen, komplizierten Mapping arbeiten, eine unbekannte Funktion zum ersten Mal verwenden oder wenn Ihre Funktion ein Zwischenergebnis generiert, das weiterverarbeitet werden muss, ist es oft hilfreich, Ihre Arbeit Schritt für Schritt zu testen. Sie können eine einfache Textdatei als temporäre Zielkomponente verwenden, um das Ergebnis der Funktionen, an denen Sie arbeiten, sehen zu können. Angenommen, Sie möchten einen Datums- und Uhrzeitstempel zu einem bestehenden Mapping einer Ausgabedatei hinzufügen, um das Datum festzuhalten, an dem die Daten generiert wurden. Zu diesem Zweck können wir in einem neuen Mapping mit der MapForce-Funktion "now" experimentieren, die "now" ganz einfach mit einer Textdatei verbindet.
Wenn Sie am unteren Rand das Mapping-Fensters auf die Schaltfläche "Ausgabe" klicken, sehen Sie das unmittelbare Ergebnis.
Wie Sie sehen, funktioniert das problemlos, doch möglicherweise möchte der Betrachter der Ausgabedatei eine etwas eleganter formatierte Version davon sehen. Wir können mit verschiedenen datetime- und string-Funktionen arbeiten und daraus eine komplexe Funktion erstellen, bis unser Mapping folgendermaßen aussieht:
Oder wir können die format-dateTime-Konvertierungsfunktion einfach mit einer Stringkonstante verwenden, um das Format zu definieren:
Während wir am Mapping arbeiten, können wir das Ergebnis jederzeit über die Schaltfläche "Ausgabe" anzeigen, bis wir mit dem folgenden Ergebnis zufrieden sind:
Wenn Sie nicht täglich mit dataTime-Datentypen arbeiten, ist es schwierig, gleich beim ersten Versuch einen Formatierungsstring zu erstellen, mit dem das gewünschte Ergebnis erzielt wird. Nach mehreren Versuchen, Varianten und nach Konsultierung der MapForce-Hilfe sehen Sie hier das Format, das wir entwickelt und in der Stringkonstante gespeichert haben, die mit dem format-Input der format-dateTime-Konvertierungsfunktion verbunden ist:
Bisher haben wir eine Textdatei verwendet, die als einfache CSV-Datei mit nur einem einzigen Feld definiert war. Sie können aber Felder über das Dialogfeld "Eigenschaften" hinzufügen oder weitere Anpassungen an der Ausgabedatei vornehmen.
Ein Vorteil bei Verwendung einer Textdatei als Ausgabeziel ist, dass das Ergebnis der Funktion nicht auf seinen Typ überprüft wird, sodass in der Textdatei das Ergebnis jeder beliebigen Funktion getestet und überprüft werden kann. Wir haben in der Abbildung unten eine mathematische Funktion erstellt und ein zweites Feld zur Textdateizielkomponente hinzugefügt, um das Ergebnis zu mappen.
Das Ergebnis ist nun in der Ausgabedatei durch Kommas getrennt und befindet sich in einer einzigen Zeile:
Wenn unser endgültiges Mapping-Ziel ein Datenbankfeld oder ein XML-Element mit dem Datentyp Integer (also Ganzzahl) ist, dann sehen wir sofort, dass der erwartete Datentyp mit dieser mathematischen Funktion nicht erzeugt wird. Wenn Sie Ihre Funktion im Testmapping perfektioniert haben, können Sie die Funktion einfach auswählen, kopieren und in Ihr größeres Mapping einfügen. Anschließend können Sie den Output-Konnektor der Funktion mit dem engültigen Ziel verbinden. In der Abbildung unten ist unsere format-dateTime-Funktion auf ein Element in einem XML-Schema gemappt, das als String definiert ist.
Wenn dies eine Funktion ist, die Sie in Zukunft wahrscheinlich wieder verwenden möchten, können Sie sie in eine benutzerdefinierte Funktion konvertieren und in Ihrer Bibliothek für die praktische Wiederverwendung speichern.
Sie können eine Textdatei als temporäre Zieldatei auswählen, um eine komplexe Funktion sogar direkt innerhalb eines größeren Mapping erstellen und testen zu können. In diesem Fall enthält ihr Mapping mehrere mögliche Ausgabekomponenten. Über die Schaltfläche mit dem Auge rechts oben in jeder Ausgabedatei können Sie auswählen, welche Ausgabedatei im Fenster "Ausgabe" angezeigt werden soll.
Wenn Sie die Textdatei als Ausgabevorschau auswählen, verarbeitet der Built-In-Ausführungsprozessor von MapForce nicht das größere Mapping, sondern nur die mit der Textdatei verbundene Funktion. Damit können Sie enorm viel Zeit sparen, z.B. wenn Sie nur das Ergebnis der Funktion überprüfen möchten und eine große Datenmenge in Ihrem größeren Mapping verarbeitet wird oder wenn Sie nicht riskieren möchten, dass ungültige Daten in eine Datenbank eingefügt werden und in vielen anderen Fällen.
|
| |||||||||||||||||||||||||||||||
| Altova | Rechtsabteilung | Presse | Partner | Karriere | Übersicht | Kontakt | Altova Blog | Mobile | Full Site | |||
|
