---
title: "Eine schnelle Lösung für komplexe Funktionen"
date: "2011-06-27"
tags: 
  - "data-integration"
  - "data-mapping"
  - "mapforce"
  - "version-2011"
description: Altova MapForce 2011 vereinfacht komplexe Datenabbildungen, indem es Benutzern ermöglicht, Funktionen grafisch zu kombinieren. Es unterstützt eine schrittweise Prüfung für genaue Datenkonvertierungen.
---
Status: #blog

Tags:  #data-integration #data-mapping #mapforce #version-2011

Categories: [Altova](/blog/de/category/altova.md) 
# Eine schnelle Lösung für komplexe Funktionen

Einige Datenkonvertierungen erfordern mehrere Schritte, um den heutigen, komplexen Anforderungen an die Datenübertragung gerecht zu werden. [Altova MapForce 2011](https://www.altova.com/de/mapforce.html) ermöglicht es Ihnen, eine Vielzahl von mathematischen, logischen, textbezogenen und anderen [speziellen Funktionen](https://www.altova.com/de/mapforce/data-processing-functions.html) grafisch zu kombinieren, um komplexe "Datenformeln" zu erstellen und so die gewünschten Ergebnisse zu erzielen. Wenn Sie an einer umfangreichen und komplexen Zuordnung arbeiten, wenn Sie eine Ihnen unbekannte Funktion zum ersten Mal verwenden oder wenn Ihre Funktion ein Zwischenergebnis erzeugt, das weiterverarbeitet werden muss, ist es hilfreich, Ihre Arbeit in jedem Schritt des Entwicklungsprozesses zu testen. Sie können einen [einfache Textdatei](https://www.altova.com/de/mapforce/flat-file-mapping.html) als vorübergehendes Ziel, um die Ausgabe Ihrer noch in Arbeit befindlichen Funktion zu überprüfen. Nehmen wir an, wir möchten einer bestehenden Zuordnung einer Ausgabedatei einen Zeitstempel hinzufügen, um den Zeitpunkt der Datenerstellung zu dokumentieren. Wir können jetzt problemlos mit der Funktion "MapForce jetzt" in einer neuen Zuordnung arbeiten, die einfach eine Verbindung zu einer Textdatei herstellt. 

[![Eine Funktion, die mit einer Textdatei verknüpft ist](https://lh4.ggpht.com/-NecSm6arE0g/Tf-MKZyrP4I/AAAAAAAAAZM/DyO5RHvbDpU/technote27_1_thumb%25255B2%25255D.png?imgmax=800 "A function connected to a text file")](http://lh3.ggpht.com/-nlHcCbcvjFc/Tf-MJ9mMqQI/AAAAAAAAAZI/lFddbb7blzc/s1600-h/technote27_1%25255B4%25255D.png)

Durch Klicken auf die Schaltfläche "Ausgabe" am unteren Rand des Zuordnungsfensters wird uns das unmittelbare Ergebnis angezeigt: 

[![Die Ausgabe der Funktion "now"](https://lh3.ggpht.com/-d_iemv_ykrc/Tf-MLG7DA1I/AAAAAAAAAZU/tPounch7Ofc/technote27_2_thumb%25255B2%25255D.png?imgmax=800 "Output of the now function")](http://lh5.ggpht.com/-_I-NteTD0tE/Tf-MK-qeWAI/AAAAAAAAAZQ/byuCmyEmvrA/s1600-h/technote27_2%25255B4%25255D.png) 

Okay, das funktioniert, aber vielleicht möchte der Nutzer der Ausgabedatei eine eleganter formatierte Version sehen. Wir können verschiedene Datums- und Zeichenkettenfunktionen verwenden und eine komplexe Funktion erstellen, bis unsere Formatierung wie folgt aussieht: 

[![Komplexe Funktion zur Erzeugung einer Zeichenkette](https://lh3.ggpht.com/-zuEPfPxnuLY/Tf-MMIRLZKI/AAAAAAAAAZc/zj0xQr561RU/technote27_3_thumb%25255B2%25255D.png?imgmax=800 "Complicated function to produce a string")](http://lh6.ggpht.com/-429i3ML-88k/Tf-MLsxsfjI/AAAAAAAAAZY/n5PU6-z0sjs/s1600-h/technote27_3%25255B4%25255D.png) 

Oder wir könnten einfach die Funktion zur Formatierung von Datums- und Zeitwerten verwenden, wobei wir eine Zeichenkette als Konstante verwenden, um das Format zu definieren 

[![Die Funktion "format-dateTime" verwenden, um eine benutzerdefinierte Ausgabe zu erstellen](https://lh3.ggpht.com/-It_hoxtBz5I/Tf-MM0Jw2oI/AAAAAAAAAZk/bsKoKQGZkNc/technote27_4_thumb%25255B2%25255D.png?imgmax=800 "Using the format-dateTime function for customized output")](http://lh5.ggpht.com/-aHLThUl46bI/Tf-MMWQUnkI/AAAAAAAAAZg/oVQM37fNsAg/s1600-h/technote27_4%25255B4%25255D.png) 

Während wir arbeiten, können wir jederzeit auf die Schaltfläche "Ausgabe" klicken, bis wir mit einem Ergebnis zufrieden sind, das wie folgt aussieht: 

[![Benutzerdefinierter String für Datum und Uhrzeit](https://lh4.ggpht.com/-94YVgt5hGAc/Tf-MNzI5DaI/AAAAAAAAAZs/f1hokVgdvBo/technote27_5_thumb%25255B2%25255D.png?imgmax=800 "Custom string for date and time")](http://lh3.ggpht.com/-mOgE_ufw_ds/Tf-MNTQyQvI/AAAAAAAAAZo/gMCh3pkDtSI/s1600-h/technote27_5%25255B4%25255D.png) 

Wenn man nicht täglich mit Datums- und Zeitdaten arbeitet, ist es schwierig, beim ersten Versuch eine Formatierungszeichenkette zu erstellen, die das gewünschte Ergebnis liefert! Nach mehreren Versuchen, Variationen und Rücksprachen mit der MapForce-Hilfe haben wir folgende Formatierungszeichenkette entwickelt, die wir in der Zeichenkettenkonstanten gespeichert haben, die mit der Formatierungsfunktion für die Umwandlung von Daten in das Format "dateTime" verbunden ist: 

[![String, der das Format für Datum und Uhrzeit definiert](https://lh4.ggpht.com/-vJlxfpnWDLE/Tf-MOqGOehI/AAAAAAAAAZ0/5kU5pfLXnjI/technote27_6_thumb%25255B2%25255D.png?imgmax=800 "String to define format for dateTime")](http://lh6.ggpht.com/-HT699QUkXRg/Tf-MOSslQNI/AAAAAAAAAZw/qAjirhgmTKw/s1600-h/technote27_6%25255B4%25255D.png)

Bisher haben wir eine Textdatei verwendet, die als einfache CSV-Datei mit nur einem Feld definiert war. Sie können jedoch den Dialog "Eigenschaften" für die Datei öffnen und Felder hinzufügen oder eine individuellere Ausgabedatei erstellen.

[![Eigenschaften-Einstellungen für eine einfache Textdatei](https://lh6.ggpht.com/-uU2CKqIDYDQ/Tf-MPvuAgYI/AAAAAAAAAZ8/SzheowFYP3w/technote27_7_thumb%25255B3%25255D.png?imgmax=800 "Properties settings for a simple text file")](http://lh4.ggpht.com/-qZ5CeImVIuI/Tf-MPNq4zRI/AAAAAAAAAZ4/lfbmBTAuC_g/s1600-h/technote27_7%25255B5%25255D.png) 

Ein Vorteil der Verwendung einer Textdatei als Ausgabeziel besteht darin, dass keine Typüberprüfung des Funktionsergebnisses erfolgt. Dadurch ermöglicht das Textdateiziel die Überprüfung und Verifizierung der Ausgabe jeder Funktion. Im folgenden Screenshot haben wir eine mathematische Funktion erstellt und ein zweites Feld zum Textdateiziel hinzugefügt, um das Ergebnis darzustellen. 

[![Textdatei mit zwei Zielfeldern](https://lh4.ggpht.com/-bkqK8zHzSGc/Tf-MQXFDV8I/AAAAAAAAAaE/lXmO7FFVIVE/technote27_8_thumb%25255B2%25255D.png?imgmax=800 "Text file with two target fields")](http://lh5.ggpht.com/-i2GuUy7xGa4/Tf-MP0AmpQI/AAAAAAAAAaA/DoEDCUBTPRw/s1600-h/technote27_8%25255B4%25255D.png)

Das Ergebnis ist nun eine einzelne Zeile mit kommagetrennten Werten, wie folgt:

[![Zwei Felder in einer einfachen Textdatei](https://lh6.ggpht.com/-pZMEjI9YzCA/Tf-MRRwlbrI/AAAAAAAAAaM/H61gauIPrpw/technote27_9_thumb%25255B2%25255D.png?imgmax=800 "Two fields in a simple text file")](http://lh3.ggpht.com/-4qI-JEQq6KU/Tf-MREv_AEI/AAAAAAAAAaI/TlRYz1Ucn_o/s1600-h/technote27_9%25255B4%25255D.png) 

Wenn unser Endziel ein Datenbankfeld oder ein XML-Element mit einem Integer-Datentyp sein soll, dann können wir sofort erkennen, dass diese mathematische Funktion nicht den erwarteten Datentyp liefert. Nachdem Sie Ihre Funktion im Test-Mapping optimiert haben, können Sie sie einfach auswählen, kopieren und direkt in Ihr größeres Mapping einfügen. Anschließend können Sie die Ausgabe der Funktion mit Ihrem Endziel verknüpfen. Im folgenden Screenshot wird unsere Formatierungsfunktion "dateTime" auf ein Element in einem XML-Schema abgebildet, das als String definiert ist.

[![Funktion in eine größere Zuordnung eingefügt](https://lh4.ggpht.com/-yWufMDEjtr4/Tf-MSSrvKUI/AAAAAAAAAaU/jy-aqhTO4vI/technote27_10_thumb%25255B2%25255D.png?imgmax=800 "Function pasted into larger mapping")](http://lh3.ggpht.com/-V7xU_lpVjpA/Tf-MR4WsmXI/AAAAAAAAAaQ/hfRmKCiFRFM/s1600-h/technote27_10%25255B4%25255D.png) 

Wenn dies eine Funktion ist, die Sie wahrscheinlich in Zukunft wieder benötigen werden, können Sie sie in eine benutzerdefinierte Funktion umwandeln und in Ihrer Bibliothek speichern, um sie bei Bedarf einfach wiederverwenden zu können. 

[![Menü für Funktionen in Altova MapForce](https://lh6.ggpht.com/-Qx5nsgVq1MA/Tf-MS30X-JI/AAAAAAAAAac/_IyIHiUGYWE/technote27_11_thumb%25255B5%25255D.png?imgmax=800 "Altova MapForce Function menu")](http://lh6.ggpht.com/-sL7Qf6AitKg/Tf-MSuQoegI/AAAAAAAAAaY/Yz14z0P3Uvo/s1600-h/technote27_11%25255B9%25255D.png) 

Sie können sogar eine Textdatei als temporäres Ziel verwenden, um eine komplexe Funktion direkt innerhalb Ihrer größeren Mapping-Konfiguration zu erstellen und zu testen. In diesem Fall umfasst Ihre Mapping-Konfiguration mehrere mögliche Ausgaben. Der "Augen"-Button, der sich oben rechts bei jeder Ausgabedatei befindet, bestimmt, welche Ausgabedatei im Ausgabefenster angezeigt wird.

[![Eine Textdatei als temporäres Ziel innerhalb einer größeren Zuordnung](https://lh6.ggpht.com/-ROHTGmMGhCc/Tf-MUbPViPI/AAAAAAAAAak/1OdyEKLbGvY/technote27_12_thumb%25255B2%25255D.png?imgmax=800 "Text file as a temporary target")](http://lh3.ggpht.com/-JEuO0O-O1d8/Tf-MTy-EOVI/AAAAAAAAAag/q10Mjah9tBQ/s1600-h/technote27_12%25255B4%25255D.png) 

Wenn Sie eine Textdatei als Vorschau für die Ausgabe auswählen, verarbeitet die MapForce-Ausführungsumgebung nicht die gesamte Zuordnung, sondern nur die Funktion, die mit der Textdatei verbunden ist. Dies kann eine enorme Zeitersparnis bedeuten, wenn Sie lediglich das Ergebnis der Funktion überprüfen möchten und Ihre umfangreiche Zuordnung eine große Datenmenge verarbeitet, oder wenn Sie das Risiko vermeiden möchten, ungültige Daten in eine Datenbank einzuspeisen, und in vielen anderen Situationen. **Entdecken Sie selbst, wie einfach es ist, MapForce für Ihre eigenen Datenzuordnungsprojekte einzusetzen!** [**Laden Sie eine kostenlose 30-Tage-Testversion](https://www.altova.com/de/download/mapforce/data_mapping_enterprise.html) **von MapForce herunter.**
