Show TOC Anfang des Inhaltsbereichs

Funktionsdokumentation Routinen in der Transformation  Dokument im Navigationsbaum lokalisieren

Verwendung

Mit Hilfe von Routinen können Sie komplexe Transformationsregeln definieren.

Routinen sind lokale ABAP-Klassen, die aus einem vordefinierten Definitions- und einen Implementierungsbereich bestehen. Im Definitionsbereich sind die TYPES für die Eingangs- und Ausgangsparameter sowie die Signatur der Routine (ABAP-Methode) hinterlegt. Im Implementierungsbereich wird die eigentliche Routine angelegt. Im Coding der Routine stehen Ihnen die Anweisungen von ABAP-Objects zur Verfügung. Zum Generierungszeitpunkt wird das Coding als Methode in die lokale Klasse des Transformationsprogramms eingebettet.

Die folgende Grafik zeigt die Position dieser Routinen im Datenfluss:

Diese Grafik wird im zugehörigen Text erklärt

Funktionsumfang

Die Routine besteht aus einem globalen und einem lokalen Teil. Im globalen Teil können Sie globale Datendeklarationen 'CLASS-DATA' definieren, die dann in allen Routinen verfügbar sind.

Wenn Sie Coding in Routinen wiederverwenden möchten, dann können Sie dazu Funktionsbausteine, Methoden oder externe Unterprogramme in der ABAP Workbench anlegen. Diese können im lokalen Teil der Routine aufgerufen werden. Wenn Sie eine Routine mit einem solchen Aufruf transportieren möchten, dann sollten Routine und das aufgerufene Objekt auf demselben Transportauftrag stehen.

Es gibt verschiedene Arten von Routinen in der Transformation: Startroutine, Routine für Kennzahlen oder Merkmale, Endroutine und Expertenroutine.

Die folgende Grafik zeigt den Aufbau des Transformationsprogramms mit Transformationsregeln, Start- und Endroutine:

Diese Grafik wird im zugehörigen Text erklärt

Die folgende Grafik zeigt den Aufbau des Transformationsprogramms mit Expertenroutine:

Diese Grafik wird im zugehörigen Text erklärt

Startroutine

Die Startroutine wird pro Datenpaket zu Beginn der Transformation ausgeführt. Die Startroutine hat eine Tabelle im Format der Quellstruktur als Eingangsparameter und als Ausgangsparameter. Sie ist dazu da, Vorabberechnungen durchzuführen und in einer globalen Datenstruktur oder Tabelle abzulegen. Auf diese Struktur oder Tabelle kann dann in den anderen Routinen zugegriffen werden. Sie können im Datenpaket Daten modifizieren oder löschen.

Routine für Kennzahlen oder Merkmale

Diese Routine steht als Regeltyp zur Verfügung, d.h. Sie können eine Routine als Transformationsregel zu einer Kennzahl oder einem Merkmal definieren. Eingangs- und Rückgabewerte hängen vom ausgewählten Feld in der Transformationsregel ab. Weitere Informationen finden Sie im Abschnitt Routine unter Regeltyp.

Endroutine

Die Endroutine ist eine Routine mit einer Tabelle  im Format der Zielstruktur als Eingangsparameter und Ausgangsparameter. Mit ihr können paketweise Nachbehandlungen der Daten nach der Transformation durchgeführt werden. Sie können z.B. Sätze löschen, die nicht fortgeschrieben werden sollen, oder Überprüfungen der Daten durchführen.

Achtung

Ist das Ziel der Transformation ein DataStore-Objekt, dann werden Kennzahlen per Voreinstellung mit dem Aggregationsverhalten Überschreiben (MOVE) fortgeschrieben. Dies können Sie nur durch eine Dummy-Regel übersteuern.

Expertenroutine

Diese Routinenart ist nur für Sonderfälle gedacht. Die Expertenroutine können Sie dann verwenden, wenn die bereitgestellten Funktionen zur Transformation nicht ausreichen. Dies kann Ihnen als Übergangslösung dienen, bis die benötigte Funktion möglicherweise im Standard verfügbar ist.

Sie können damit die Transformation komplett selbst programmieren, ohne die vorhandenen Regeltypen zu verwenden. Die Übergabe von Meldungen an den Monitor müssen Sie dabei selbst implementieren.

Wenn Sie schon Transformationsregeln angelegt haben, dann werden diese mit dem Anlegen einer Expertenroutine gelöscht.

Achtung

Ist das Ziel der Transformation ein DataStore-Objekt, dann werden Kennzahlen per Voreinstellung mit dem Aggregationsverhalten Überschreiben (MOVE) fortgeschrieben.

Siehe auch:

Beispiel für Startroutine

Beispiel für Merkmalsroutine

Beispiel für Endroutine

Ende des Inhaltsbereichs