Show TOC

Lokale FunktionsbibliothekenLocate this document in the navigation structure

Verwendung

Sie können in Message-Mappings neben Standardfunktionen auch eigene benutzerdefinierte Funktionen verwenden. Diese Funktionen speichert das PCK in einer lokalen Funktionsbibliothek des Message-Mappings. Sie sind nur in diesem Message-Mapping sichtbar (im Datenfluss-Editor zur Definition von Zielfeld-Mappings).

Sie können mit benutzerdefinierten Funktionen die Funktionen des Message-Mappings um eigene einfache oder komplexe Java-Funktionen erweitern.

Funktionsumfang

Der Editor für eine Funktionsbibliothek ist folgendermaßen aufgebaut:

Allgemeines

Klassen- und Paketname

Jede Funktion entspricht einer Java-Klasse, die über einen Klassennamen und einen Paketnamen identifiziert wird. Nach dem Anlegen einer Funktion weist das PCK dem Klassennamen automatisch den Namen der Funktion zu und bildet den Paketnamen automatisch über den Namensraum des PCK.

Alle Paket- und Klassennamen von lokalen Funktionen und importierten Archiven müssen eindeutig sein. Wenn es in einem importierten Archiv bereits ein gleichnamiges Paket und gegebenenfalls eine gleichnamige Klasse in diesem Paket gibt, kommt es zu einem Namenskonflikt. Sie lösen solche Konflikte, indem Sie den voreingestellten Klassennamen beziehungsweise Paketnamen Ihrer Funktion ändern.

Bearbeiten von Quelltext

Im PCK ist ein Editor integriert, um Java-Quelltext von Funktionen zu erfassen. Sie können den Quelltext einer Funktion auch über ein externes Werkzeug bearbeiten. Dazu exportieren Sie den Quelltext und importieren ihn wieder, nachdem Sie ihn mit dem externen Werkzeug bearbeitet haben.

In dem exportierten Quelltext sind Markierungen für den Beginn und das Ende der einzelnen Funktionen und Bereiche eingefügt. Bei einem späteren Import importiert das PCK nur den Quelltext zwischen diesen Markierungen. Die Methoden müssen bereits in der Funktionsbibliothek enthalten sein, in die Sie den Quelltext importieren. Neue Methoden werden nicht automatisch angelegt.

Funktionen anderer Java-Bibliotheken

Alle benutzerdefinierte Funktionen in lokalen Funktionsbibliotheken können auf folgende Objekte der Mapping-Laufzeit zugreifen:

Zugriff auf Standardobjekte in benutzerdefinierten Funktionen

Zugriff auf Standardobjekte in benutzerdefinierten 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.

Sie können zusätzlich auf Funktionen von Standard-Java-Paketen oder importierten Archiven zugreifen.

Weitere Informationen: Importanweisungen

Aktivitäten
  1. Legen Sie eine Funktionsbibliothek auf der Registerkarte Funktionen im Message-Mapping an.
  2. Implementieren Sie Ihre Java-Funktionen.

    Beachten Sie die Einführungshinweise für Java-Mappings .

  3. Erfassen Sie den Quelltext der Funktion im Quelltext-Editor rechts unten im Funktionsbibliothek-Editor. Sie können alternativ auch die zur Funktionsbibliothek gehörende Klasse exportieren, um sie mit einem externen Werkzeug zu bearbeiten.
  4. Beachten Sie für Funktionen der Ausführungsart Alle Werte eines Kontext oder Alle Werte einer Queue die Bedeutung der Werte und den konsistenten Aufbau von Queues.

    Weitere Informationen: Erweiterte benutzerdefinierte Funktionen

  5. Wenn Sie globale Variablen oder globale Hilfsmethoden für Ihre Java-Funktion benötigen, erfassen Sie diese im Quelltext-Editor für den Java-Bereich Attribute und Methoden.
  6. Geben Sie in Ihrer Java-Funktion einen Ergebniswert zurück.

    Java-Funktionen der Ausführungsart Einzelwertemüssen einen Ergebniswert zurückgeben.

    Java-Funktionen der Ausführungsart Alle Werte eines Kontexts und der Ausführungsart Alle Werte einer Queue müssen ein Objekt vom Typ ResultList zurückgeben.

    Die Java-Funktion ist direkt im Datenflusseditor sichtbar.