Show TOC Anfang des Inhaltsbereichs

Funktionsdokumentation Selbstdefinierte, anwendungsspezifische Funktionen einsetzen  Dokument im Navigationsbaum lokalisieren

Verwendung

Sie können Funktionen bereitstellen, die speziell auf Ihre Anwendung zugeschnitten sind. Damit der Nutzer diese Funktionen nutzen kann, zeigen Sie Drucktasten oder – sofern Sie Zugriff auf den Bildschirmstatus haben – Menüeinträge an.

Wenn der Nutzer die Funktion ausführt

Wenn der Nutzer die Drucktaste einer Funktion wählt, die Sie selbst definiert haben, löst er damit das Ereignis ADDED_FUNCTION der Klassen CL_SALV_EVENTS_LIST bzw. CL_SALV_EVENTS_TREE aus. Wenn Sie Ihre Anwendung auf dieses Ereignis registrieren, bekommen Sie die Kontrolle in der Methode des Ereignisbehandlers und können den gewünschten Funktionscode starten.

Anordnung der Drucktasten

Je nachdem, ob Sie eine selbst definierte Funktion in einer ALV-Ausgabe im Container einsetzen oder in einer Fullscreen-Darstellung, gehen Sie unterschiedlich vor, um die Position einer Drucktaste bzw. eines Menüeintrags festzulegen:

·        In der Container-Darstellung (einfache, zweidimensionale Tabelle oder Baumstruktur) können Sie wählen, ob Sie die Drucktasten für selbst definierte Funktionen rechts oder links von den Drucktasten der generischen ALV-Funktionen positionieren möchten. Über die Reihenfolge, in der Sie die selbstdefinierten Funktionen dann erzeugen, legen Sie auch die Reihenfolge der Drucktasten fest.

Hinweis

In der Container-Darstellung können Sie nur Drucktasten in die Drucktastenleiste hinzufügen. Sie können keine Menüeinträge erzeugen.

·        In den anderen Darstellungsarten verwenden Sie den Bildschirmstatus, um die Position einer Drucktaste bzw. des Menüeintrags festzulegen. Die Drucktaste wird dann an der hier festgelegten Position angezeigt, unabhängig davon, in welcher Reihenfolge Sie die Funktionen erzeugen.

Funktionsumfang

Zu selbst definierten Funktionen können Sie folgende Einstellungen vornehmen:

·        Funktionseinstellungen holen

·        Selbst definierte Funktion erzeugen und anzeigen

·        Sichtbarkeit und Aktivierungsstatus einer selbst definierten Funktion prüfen

·        Anstelle einer selbst definierten Funktion eine generische ALV-Funktion ausführen

Funktionseinstellungen holen

Mit jeder Funktion, die Sie aktivieren, erzeugen Sie ein Objekt der Klasse CL_SALV_FUNCTION. All diese Objekte verwalten Sie über die Liste aller Funktionsobjekte: CL_SALV_FUNCTIONS_TREE (für die Baumstruktur) oder CL_SALV_FUNCTIONS_LIST (für die einfache, zweidimensionale Tabelle oder die hierarchisch-sequenzielle Liste).

In jeder ALV-Hauptklasse existiert die Methode GET_FUNCTIONS, die die Einstellungen aller Funktionen zurückgibt. Über dieses Objekt nehmen Sie alle Einstellungen zu selbst definierten Funktionen vor.

Darstellungsart

ALV-Werkzeug

Klass. ABAP-Liste

Fullscreen

Im Container

Einfache, zweidimensionale Tabelle

Ja

Ja

Ja

Hierarchisch-sequenzielle Liste

Ja

 

 

Baumstruktur

 

Ja

Ja

Methoden

Funktion

Klasse

Methode

FUNCTIONS-Objekt holen

CL_SALV_TABLE

CL_SALV_HIERSEQ_TABLE

CL_SALV_TREE

GET_FUNCTIONS

Selbstdefinierte Funktion erzeugen, anzeigen und löschen

Je nachdem, ob Sie eine selbst definierte Funktion in einer ALV-Ausgabe im Container einsetzen oder in einer Fullscreen-Darstellung, gehen Sie unterschiedlich vor, um die Funktion anzuzeigen:

·        In der Container-Darstellung (einfache, zweidimensionale Tabelle oder Baumstruktur) erzeugen Sie ausdrücklich ein Funktionsobjekt mit den gewünschten Eigenschaften und zeigen die Drucktaste an.

·        In den anderen Darstellungsarten erzeugen Sie das Funktionsobjekt indirekt dadurch, dass Sie die selbst definierte Funktion im  Bildschirmstatus eintragen. Hier wird die Funktion direkt angezeigt, Sie müssen keinen weiteren Befehl für die Anzeige geben.

Während Sie bei den Fullscreen-Darstellungen Aussehen, ToolTip und Position der Funktion über den Bildschirmstatus festlegen, nehmen Sie in der Container-Darstellung diese Einstellungen beim Erzeugen des Funktionsobjekts vor.

Darstellungsart

ALV-Werkzeug

Klass. ABAP-Liste

Fullscreen

Im Container

Einfache, zweidimensionale Tabelle

Nein

Nein

Ja

Hierarchisch-sequenzielle Liste

Nein

 

 

Baumstruktur

 

Nein

Ja

Methoden

Funktion

Klasse

Methode

Funktionsobjekt einer selbst definierten Funktion erzeugen und anzeigen

CL_SALV_FUNCTIONS_LIST

CL_SALV_FUNCTIONS_TREE

ADD_FUNCTION

Funktionsobjekt löschen

REMOVE_FUNCTION

Prüfen, ob ein Funktionsobjekt bereits existiert

IS_ITEM

Text auf der Drucktaste festlegen

ADD_FUNCTION
(Parameter TEXT)

Ikone auf der Drucktaste festlegen

ADD_FUNCTION
(Parameter ICON)

Position innerhalb der Drucktastenleiste festlegen

ADD_FUNCTION
(Parameter POSITION)

ToolTip für die Drucktaste festlegen

ADD_FUNCTION
(Parameter TOOLTIP)

Sichtbarkeit und Aktivierungsstatus einer selbst definierten Funktion prüfen

Sie können die Drucktasten bzw. Menüeinträge von selbst definierten  Funktionen ein- und ausblenden. Darüber hinaus können Sie – im Gegensatz zu generischen ALV-Funktionen – die Bedienbarkeit einer selbst definierten Funktion beeinflussen: Sie aktivieren bzw. deaktivieren die Funktion.

Für die Sichtbarkeit von selbst definierten Funktionen gilt:

Darstellungsart

ALV-Werkzeug

Klass. ABAP-Liste

Fullscreen

Im Container

Einfache, zweidimensionale Tabelle

Ja

Ja

Ja

Hierarchisch-sequenzielle Liste

Ja

 

 

Baumstruktur

 

Ja

Ja

Für den Aktivierungsstatus von selbst definierten Funktionen gilt:

Darstellungsart

ALV-Werkzeug

Klass. ABAP-Liste

Fullscreen

Im Container

Einfache, zweidimensionale Tabelle

Nein

Nein

Ja

Hierarchisch-sequenzielle Liste

Nein

 

 

Baumstruktur

 

Nein

Ja

Methoden

Funktion

Klasse

Methode

Selbst definierte Funktion ein- oder ausblenden

CL_SALV_FUNCTIONS_LIST

CL_SALV_FUNCTIONS_TREE

SET_FUNCTION

Sichtbarkeit prüfen

IS_VISIBLE

Selbst definierte Funktion aktivieren/ deaktivieren

ENABLE_FUNCTION

Aktivierungsstatus prüfen

IS_ENABLED

Anstelle einer selbst definierten eine ALV-Funktion ausführen

Normalerweise möchten Sie bei der Aktion eines Nutzers natürlich die selbst definierte Funktion ausführen, für die Sie eine Drucktaste oder einen Menüeintrag definiert haben. Wenn Sie jedoch in bestimmten Fällen eine andere als die ursprünglich vorgesehene Funktion ausführen möchten, können Sie in der Ereignisbehandler-Routine des Ereignisses ADDED_FUNCTION die gewünschte (alternative) generische ALV-Funktion angeben.

Darstellungsart

ALV-Werkzeug

Klass. ABAP-Liste

Fullscreen

Im Container

Einfache, zweidimensionale Tabelle

Nein

Nein

Ja

Hierarchisch-sequenzielle Liste

Nein

 

 

Baumstruktur

 

Nein

Ja

Methoden

Funktion

Klasse

Methode

Anstelle einer selbst definierten eine ALV-Funktion ausführen

CL_SALV_TABLE
CL_SALV_TREE

SET_FUNCTION

 

Ende des Inhaltsbereichs