Show TOC Anfang des Inhaltsbereichs

Funktionsdokumentation ABAP-Routine  Dokument im Navigationsbaum lokalisieren

Verwendung

Mit der Transformation Diese Grafik wird im zugehörigen Text erklärt ABAP-Routine können Sie die Daten einer Eingangstabelle in eine Ausgangstabelle transformieren. Sie können eine beliebige Transformation mit ABAP selbst implementieren.

Voraussetzungen

Sie benötigen die Berechtigung für das Berechtigungsobjekt RSANPR und die Aktivität 36 (erweiterte Pflege), um ABAP-Routinen in einen Analyseprozess einzufügen oder zu ändern..

Funktionsumfang

In der ABAP-Routine können Sie auf alle Zeilen der Eingangstabelle zugreifen. Die Ausgangstabelle kann beliebig viele Zeilen enthalten. Damit sind z.B. folgende Berechnungen möglich:

      Ermittlung einer ABC-Klasse

      Ermittlung einer Lifetime-Periode

      Statistikfunktionen, wie Anzahl der Kunden, die pro Periode gekauft haben

In Ihrer ABAP-Routine können Sie verschiedene Arten von Feldern verwenden:

      Gruppierungsfelder:

Gruppierungsfelder stehen als Eingangsfelder in der Routine zur Verfügung, und sie werden unverändert in der Ausgangstabelle des Knotens ausgegeben.

Über die Gruppierungsfelder definieren Sie eine Gruppe von Datensätzen. Alle Datensätze mit gleichen Werten in den Gruppierungsfeldern bilden eine Gruppe. Die Daten der Eingangstabelle des Knotens werden dazu gemäß der Gruppierungsfelder gruppiert, und die Routine wird nur noch mit den Daten je einer Gruppe aufgerufen. Soll z.B. die Ermittlung der ABC-Klasse pro Kundengruppe durchgeführt werden, so kann die Partitionierung der Daten nach Kundengruppen bereits vom Routineknoten vorgenommen werden. Die Routine wird dann mehrfach mit den Daten jeweils einer Kundengruppe aufgerufen.

      Quellfelder:

Quellfelder stehen als Eingangsfelder in der Routine zur Verfügung, aber sie werden nicht in der Ausgangstabelle des Knotens ausgegeben.

Quellfelder können Sie in der Routine in andere Felder transformieren. Falls Sie ein Quellfeld unverändert in der Ausgangstabelle des Knotens ausgeben möchten, muss es auch als Zielfeld definiert sein. Alle ausgewählten Quellfelder werden als Vorschlag in die Liste der Zielfelder übernommen.

      Zielfelder:

Zielfelder stehen nicht als Eingangsfelder in der Routine zur Verfügung, sie werden nur in der Ausgangstabelle des Knotens ausgegeben.

Ein Zielfeld können Sie z.B. dazu verwenden, eine zusätzliche Spalte in die Ausgangstabelle mit aufzunehmen. Sie definieren ein Zielfeld über die Angabe eines eindeutigen Feldnamens, einer Beschreibung und eines InfoObjects. Mit dem Feldnamen und der Beschreibung tauchen die Felder in Folgeknoten auf. Das InfoObject wird verwendet, um dem Feld Typeigenschaften zuzuordnen (Typ, Feldlänge, Prüftabelle).

Implementierung der Routine:

In der Routine stehen die Gruppierungsfelder in einer Struktur zur Verfügung. Sie können nicht verändert werden. In der Ausgabestruktur der Routine sind die Felder daher nicht enthalten. Erst danach, in der Ausgangstabelle des Knotens, werden die Spalten mit den Gruppierungsfeldern wieder automatisch ergänzt.

Die Implementierung der Datentransformation erfolgt auf der Registerkarte Routine . Hier implementieren Sie ein Unterprogramm, das für jede Gruppe von Datensätzen aufgerufen wird. Die Datenübergabe erfolgt über drei Parameter:

Parameter

Beschreibung

is_group 

enthält die Struktur mit den Gruppierungsfeldern

it_source

enthält die Eingangstabelle ohne die Gruppierungsfelder

et_target

ist die Ausgabetabelle der Routine. Diese Tabelle muss in der Routine gefüllt werden. Die Daten dieser Tabelle werden nach Beendigung der Routine wieder um die Spalten mit den Gruppierungsfeldern erweitert und an die Folgeknoten weitergereicht.

Beachten Sie folgenden Einschränkungen:

      Die Reihenfolge der Datensätze in den Datenpaketen ist nicht garantiert. Vor dem Aufruf der Transformation werden die Daten nach den Gruppierungsfeldern sortiert. Insbesondere durch diese Sortierung wird in der Regel eine bereits vorhandene Ordnung aus einer vorhergehenden Transformation zerstört.

      Die Reihenfolge der Datenpakete ist nicht garantiert.

      Es dürfen keine Daten über globale Variablen zwischen verschiedenen Aufrufen von Routinen ausgetauscht werden.

      Die Reihenfolge der Felder in den Datenstrukturen ist nicht garantiert.

Aktivitäten

       1.      Legen Sie die Gruppierungs- und Quellfelder fest, indem Sie auf der Registerkarte Quellfelder die entsprechenden Listen füllen.

       2.      Definieren Sie die Zielfelder auf der Registerkarte Zielfelder durch die Angabe eines eindeutigen Feldnamens, einer Beschreibung und eines InfoObjects.

Wenn Sie zuvor auf der Registerkarte Quellfelder Quellfelder ausgewählt haben, werden die Felder als Vorschlag in die Liste der Zielfelder übernommen. Diese Felder können Sie löschen oder ergänzen.

       3.      Implementieren Sie die Datentransformation auf der Registerkarte Routine.

Als Vorschlag wird hier Programmcode erzeugt, der die Daten der Eingangstabelle in die Daten der Ausgabetabelle kopiert.

 

Ende des Inhaltsbereichs