Altova MapForce 2025 Professional Edition

Benutzerdefinierte Funktionen (UDFs = User Defined Functions) sind eigene Funktionen, die der Benutzer einmal definiert und die anschließend im selben oder in mehreren Mappings wiederverwendet werden können. Benutzerdefinierte Funktionen bilden selbst eine Art von Mini-Mapping: Normalerweise bestehen sie aus einem oder mehreren Input-Parametern, einigen Datenverarbeitungszwischenkomponenten und einem Output zur Rückgabe der Daten an das aufrufende Mapping bzw. eine andere benutzerdefinierte Funktion, die diese aufruft.

 

Vorteile von benutzerdefinierten Funktionen

Benutzerdefinierte Funktionen haben folgende Vorteile:

 

Sie können mehrmals in einem Mapping oder auch in mehreren Mappings verwendet werden.

Benutzerdefinierte Funktionen machen Ihr Mapping übersichtlicher. So können darin etwa Teile eines Mappings in kleinere Bausteine verpackt werden, sodass die Implementierungsdetails ausgeblendet werden. Ein Beispiel dafür sehen Sie im nachstehenden Diagramm.

mff_udf

Benutzerdefinierte Funktionen sind flexibel und dienen dazu, Strings, Zahlen, Datumsangaben und andere Daten auf eine bestimmte über vordefinierte MapForce-Funktionen hinausgehende Weise zu verarbeiten. So können Sie etwa Text auf eine bestimmte Art verketten oder aufteilen, komplexe Berechnungen durchführen, Datums- und Uhrzeitangaben bearbeiten usw.

Eine weitere häufige Anwendungsmöglichkeit von benutzerdefinierten Funktionen ist, den Inhalt eines bestimmten Felds in einer XML-Datei, einer Datenbank oder einem anderen von Ihrer MapForce Edition unterstützten Datenformat abzurufen und diese Daten auf geeignete Weise darzustellen. Nähere Informationen dazu finden Sie unter Look-up-Implementierung.

Benutzerdefinierte Funktionen können rekursiv aufgerufen werden (d.h. die benutzerdefinierte Funktion ruft sich selbst auf). Die benutzerdefinierte Funktion muss dazu als reguläre Funktion (nicht inline gesetzte Funktion) definiert sein. Mit Hilfe rekursiver benutzerdefinierter Funktionen können Sie verschiedene komplexe Mapping-Aufgaben lösen, wie z.B. das Iterieren über Datenstrukturen mit einer Tiefe von N Children, wobei N im Vorhinein nicht bekannt ist.

 

Beispiel

Im Folgenden sehen Sie ein Beispiel für eine einfache benutzerdefinierte Funktion, die einen String in zwei separate Strings aufteilt. Diese benutzerdefinierte Funktion ist Teil eines größeren Mappings mit dem Namen MapForceExamples\ContactsFromPO.mfd. Sie erhält als Parameter einen Namen (z.B. Helen Smith), wendet die vordefinierten Funktionen substring-before und substring-after darauf an und gibt anschließend als Ergebnis zwei Werte zurück: Helen und Smith.

mf_udf_01

 

In diesem Abschnitt

In diesem Abschnitt wird erläutert, wie Sie mit benutzerdefinierten Funktionen arbeiten. Er ist in die folgenden Kapitel gegliedert:

 

Benutzerdefinierte Funktionen: Grundlagen

Parameter von benutzerdefinierten Funktionen

Rekursive benutzerdefinierte Funktionen

Look-up-Implementierung

 

© 2018-2024 Altova GmbH