Show TOC Anfang des Inhaltsbereichs

Funktionsdokumentation Benutzerdefinierte Funktionen Dokument im Navigationsbaum lokalisieren

Verwendung

Wenn die Standardfunktionen für ein Zielfeld-Mapping nicht ausreichen oder auf Grund der Komplexität des Mappings die graphische Darstellung zu unübersichtlich wird, bietet es sich an eine benutzerdefinierte Funktion anzulegen. Sie können innerhalb dieser Funktion Java-Quelltext erfassen. Die Funktion wird als Java-Methode in das für das Message-Mapping generierte Java-Coding aufgenommen.

Achtung

Beachten Sie unbedingt die Einführungshinweise unter Java-Mapping, die auch für benutzerdefinierte Funktionen in Message-Mappings gültig sind.

Eine benutzerdefinierte Funktion ist nur in dem Message-Mapping sichtbar, in dem Sie es angelegt haben. Die Funktion kann über die Funktionskategorie Benutzerdefiniert wie eine Standardfunktion in den Datenfluss-Editor eingefügt werden.

Integration

Sie können in benutzerdefinierten Funktionen Ihre Java-Programme aus importierten Archiven verwenden, die in der gleichen oder einer unterliegenden Software-Komponentenversion wie das Message-Mapping liegen.

Voraussetzungen

Sie haben ein Message-Mapping angelegt und jeweils eine XML-Struktur für Ausgangs- und Zielstruktur geladen.

Funktionsumfang

Abhängig davon, welche Werte für eine benutzerdefinierte Funktion im Cache verfügbar sind, werden folgende Funktionen unterschieden:

·        Einfache Funktionen (Cache = Wert)
Dieser Funktionstyp kann pro Funktionsaufruf einzelne Eingabewerte von Feldern verarbeiten. Einfache Funktionen erwarten daher Strings als Eingabewerte und geben einen String zurück.

·        Erweiterte Funktionen (Cache = Kontext oder Cache = Queue)
Dieser Funktionstyp kann pro Funktionsaufruf mehrere Eingabewerte eines Feldes verarbeiten. Sie können vor dem Aufruf der Funktion entweder alle Feldwerte eines Kontextes oder die gesamte Queue für das Feld in einen Array einlesen. Weitere Informationen finden Sie unter Erweiterte benutzerdefinierte Funktionen.

Achtung

Beachten Sie, dass bei großen Messages ein Speichern der gesamten Queue im Cache sehr viel Speicher zur Laufzeit benötigt. Arbeiten Sie in so einem Fall daher lieber mit Kontexten.

Bei beiden Funktionstypen können Sie folgende Objekte im Quellcode verwenden:

Objekte in einfachen und erweiterten Funktionen

Objekt

Verwendung

Container

Mit diesem Objekt können Sie Werte zwischenspeichern, die Sie beim nächsten Aufruf der gleichen benutzerdefinierten Funktion wieder auslesen wollen.

GlobalContainer

Mit diesem Objekt können Sie Werte zwischenspeichern, die Sie beim nächsten Aufruf einer beliebigen benutzerdefinierten Funktion des gleichen Message-Mappings wieder auslesen wollen.

MappingTrace

Mit diesem Objekt können Sie einem Container Informationen für den Mapping-Trace während des Mappings übergeben, den sich Benutzer im Message-Monitoring anschauen können.

Aktivitäten

       1.      Um eine neue benutzerdefinierte Funktion anzulegen, klicken Sie links unten im Datenfluss-Editor auf die Drucktaste Neue Funktion anlegen (Diese Grafik wird im zugehörigen Text erklärt).

       2.      Geben Sie in dem folgenden Fenster die Eigenschaften Ihrer Funktion an:

Name:
Technischer Name der Funktion. Der Name wird auch in der Funktionsauswahl-Toolbar und auf dem Datenfluss-Objekt erscheinen.

Beschreibung:
Verbale Beschreibung der Verwendung der Funktion

Cache:
Funktionstyp (siehe oben).

Argumente:
Geben Sie in dieser Tabelle an, wie viele Eingangswerte die Funktion verarbeiten kann und benennen Sie sie. Alle Argumente sind vom Typ
String.

       3.      In dem folgenden Fenster können Sie Java-Quellcode erfassen:

                            a.      Sie können über das Eingabefeld Imports Java-Pakete in Ihre Methode importieren, indem Sie diese durch Komma oder Semikolon getrennt angeben:

Der Import der Pakete java.lang.*, java.util.*, java.io.* und java.lang.reflect.* ist nicht nötig, weil alle Message-Mappings diese Pakete benötigen und daher importieren. Sie sollten auf Standard-JDK- und J2EE-Pakete des SAP Web Application Servers zugreifen können, indem Sie das einfach Paket unter Import angeben, das heißt, es muss nicht als Archiv in das Repository importiert werden. Sie können außerdem auf SAP XML Toolkit-, SAP Java Connector- und SAP Logging Service-Klassen zugreifen (siehe auch: Laufzeitumgebung (Java-Mappings)).

Neben den Standard-Paketen können Sie im Import-Eingabefeld auch Java-Pakete angeben, die Sie als Archiv importiert haben und die in der gleichen oder einer unterliegenden Software-Komponentenversion wie das Message-Mapping liegen.

                            b.      Erfassen Sie im Editor-Fenster Ihren Java-Quelltext beziehungsweise kopieren Sie sich diesen Quelltext aus einem anderen Editor dorthin.

       4.      Bestätigen Sie mit Sichern und Schließen.

       5.      Benutzerdefinierte Funktionen sind an das Message-Mapping gebunden, in dem Sie die Funktion angelegt haben. Um Ihre Funktion zu sichern, speichern Sie Ihr Message-Mapping.

       6.      Sie können die Funktion in der Testumgebung testen.

Ihre Funktion ist nun in der Funktionskategorie Benutzerdefiniert sichtbar. In der Funktionsauswahl-Drucktastenleiste erscheint eine Drucktaste für die Funktion bei Auswahl dieser Kategorie. Über den Pfeil neben der Drucktaste können Sie eine Listbox öffnen, um die Funktion zu bearbeiten, zu löschen oder in den Datenfluss-Editor hinzuzufügen.

 

 

 

Ende des Inhaltsbereichs