Show TOC Anfang des Inhaltsbereichs

Funktionsdokumentation Generische ALV-Funktionen einsetzen  Dokument im Navigationsbaum lokalisieren

Verwendung

Sie können Funktionen bereitstellen, mit denen der Nutzer die ALV-Ausgabe bedienen kann. Die Funktionen, die das System für ALV bereitstellt, werden als generische ALV-Funktionen bezeichnet. Generische ALV-Funktionen sind z. B. Sortieren, Filtern, Layout-Einstellungen. Generisch bedeutet hier, dass das System prüft, ob eine Funktion in einer bestimmten Situation sinnvoll ist. Entsprechend aktiviert oder deaktiviert es die Drucktaste bzw. den Menüeintrag. Dagegen kann das System bei selbstdefinierten Funktionen keinen Einfluss auf den Aktivierungsstatus nehmen.

Hinweis

Die Namen aller generischen ALV-Funktionen finden Sie als Konstanten in den Interfaces IF_SALV_C_FUNCTION LIST (für die einfache, zweidimensionale Tabelle und die hierarchisch-sequenzielle Liste) bzw. IF_SALV_C_FUNCTION_TREE (für die Baumstruktur).

Wenn der Nutzer die Funktion ausführt

Wenn der Nutzer die Drucktaste einer generischen ALV-Funktion wählt, löst er damit nacheinander zwei Ereignisse aus:

·        BEFORE_SALV_FUNCTION
Das Ereignis findet statt, bevor die Funktion ausgeführt wird

·        AFTER_SALV_FUNCTION
Das Ereignis findet statt, wenn die Funktion abgeschlossen ist

Beide Ereignisse stammen aus den Klassen CL_SALV_EVENTS_LIST bzw. CL_SALV_EVENTS_TREE.

Wenn Sie Ihre Anwendung auf diese Ereignisse registrieren, können Sie somit die Aktion des Nutzers behandeln und eine gewünschte Funktion starten.

Anordnung der Drucktasten

Je nachdem, ob Sie eine generische ALV-Funktion in einer ALV-Ausgabe im Container einsetzen oder in einer Fullscreen-Darstellung, gehen Sie unterschiedlich vor, um die Position einer Drucktaste festzulegen:

·        In der Container-Darstellung (einfache, zweidimensionale Tabelle oder Baumstruktur) können Sie die Reihenfolge der Drucktasten nicht ändern.

·        In den anderen Darstellungsarten verwenden Sie den Bildschirmstatus, um die Position einer Drucktaste festzulegen. Die Drucktaste wird dann an der hier festgelegten Position angezeigt, unabhängig davon, in welcher Reihenfolge Sie die entsprechende SET-Funktion aufrufen.

Hinweis

Sie können nur über den Bildschirmstatus eine Funktion als Menüeintrag organisieren. In der Container-Darstellung können Sie keinen Einfluss auf die Menüstruktur nehmen.

Funktionsgruppen

Sie können jede generische ALV-Funktion einzeln aktivieren oder deaktivieren. Die meisten generischen ALV-Funktionen gehören jedoch zu sinnvoll zusammengestellten Gruppen von Funktionen. So können Sie mit einem einzigen Befehl alle Funktionen dieser Gruppe aktivieren.

Funktionsumfang

Zu generischen ALV-Funktionen können Sie folgende Einstellungen vornehmen:

·        Funktionseinstellungen holen

·        Generische ALV-Funktion aktivieren

·        Sichtbarkeit und Aktivierungsstatus einer generischen ALV-Funktion prüfen

Für all diese Funktionen gilt:

Darstellungsart

ALV-Werkzeug

Klass. ABAP-Liste

Fullscreen

Im Container

Einfache, zweidimensionale Tabelle

Ja

Ja

Ja

Hierarchisch-sequenzielle Liste

Ja

 

 

Baumstruktur

 

Ja

Ja

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 generischen ALV-Funktionen vor.

Methoden

Funktion

Klasse

Methode

FUNCTIONS-Objekt holen

CL_SALV_TABLE

CL_SALV_HIERSEQ_TABLE

CL_SALV_TREE

GET_FUNCTIONS

Alle Funktionsobjekte holen

CL_SALV_FUNCTIONS_LIST

CL_SALV_FUNCTIONS_TREE

GET_FUNCTIONS

Prüfen, ob eine Funktion eine generische ALV-Funktion ist

IS_SALV_FUNCTION

Generische ALV-Funktion aktivieren

Für jede generische ALV-Funktion existiert eine Setter-Methode, über die Sie die Drucktaste bzw. den Menüeintrag der Funktion für den Nutzer sichtbar und nutzbar schalten.

Sie haben verschieden Möglichkeiten, generische ALV-Funktionen anzuzeigen:

·        Sie aktivieren jede generische ALV-Funktion einzeln

·        Sie schalten eine Funktionsgruppe ein. Alle Funktionen dieser Funktionsgruppe werden gleichzeitig aktiviert

·        Sie schalten alle generischen ALV-Funktionen gleichzeitig ein

Hinweis

In den listartigen ALV-Ausgaben (einfache, zweidimensionale Tabelle und hierarchisch-sequenzielle Liste) steht darüber hinaus eine voreingestellte Standardauswahl der häufigsten generischen ALV-Funktionen zur Verfügung.

Methoden

Funktion

Klasse

Methode

Einzelne generische ALV-Funktion aktivieren

CL_SALV_FUNCTIONS_LIST

CL_SALV_FUNCTIONS_TREE

SET_
<generische ALV-Funktion>

Funktionsgruppe aktivieren

SET_GROUP_
<Funktionsgruppe>

Alle generischen ALV-Funktionen aktivieren

SET_ALL

Voreingestellte Standardauswahl an generischen ALV-Funktionen aktivieren

CL_SALV_FUNCTIONS_LIST

SET_DEFAULT

Sichtbarkeit und Aktivierungsstatus einer generischen ALV-Funktion prüfen

Mit den Setter-Methoden (siehe oben) machen Sie eine generische ALV-Funktion sichtbar bzw. unsichtbar. In einigen Fällen kann eine generische ALV-Funktion zwar sichtbar, jedoch vorübergehend nicht bedienbar sein: Die generische ALV-Funktion ist deaktiviert.

Während Sie bei selbstdefinierten Funktionen den Aktivierungsstatus beeinflussen können, haben Sie diese Möglichkeit bei generischen ALV-Funktionen nicht. Hier beeinflusst ausschließlich die interne Logik von ALV, ob eine Funktion bedienbar ist oder nicht.

Beispiel

Sie setzen die Gruppe Filter und machen damit die beiden Funktionen SET_FILTER und SET_FILTER_DELETE sichtbar. Solange Sie jedoch keinen Filter definiert haben, bleibt die Funktion SET_FILTER_DELETE dennoch deaktiviert.

Sie können den Aktivierungsstatus einer generischen ALV-Funktion prüfen. Jedoch erfasst die entsprechende Methode nicht den Aktivierungsstatus, den das System aufgrund seiner internen Logik gesetzt hat.

Achtung

Wenn Sie versuchen, bei einer generischen ALV-Funktion den Aktivierungsstatus zu ändern, erhalten Sie einen Fehler.

Methoden

Funktion

Klasse

Methode

Sichtbarkeit prüfen

CL_SALV_FUNCTIONS_LIST

CL_SALV_FUNCTIONS_TREE

IS_VISIBLE

Aktivierungsstatus prüfen

IS_ENABLED

 

Ende des Inhaltsbereichs