Show TOC Anfang des Inhaltsbereichs

FunktionsdokumentationSpezielle Funktionen der Baumstruktur  Dokument im Navigationsbaum lokalisieren

Verwendung

Die Baumstruktur besteht aus folgenden Bereichen:

·        Die Struktur

Die Struktur wird durch die so genannte Initialtabelle vorgegeben, die Sie mit der FACTORY-Methode angeben. Sie wird dargestellt durch die Spaltentitel, also der obersten Zeile der Baumstruktur. Jeder Knoten einer Baumstruktur besitzt exakt die Struktur, die durch die Initialtabelle vorgegeben ist.

·        Hierarchiespalte

Die erste Spalte der Baumstruktur ist immer die Hierarchiespalte. Sie ist nicht Bestandteil der Initialtabelle. Sie enthält Symbole, über die der Nutzer untere Ebenen eines Knotens ein- oder ausblenden kann. Sie können durch unterschiedliche Ikonen anzeigen, ob ein Knoten ein Zweig mit Unterknoten oder ein Blatt ist.

Standardmäßig enthält die Hierarchiespalte keinen Text. Sie können jedoch zu jedem Knoten festlegen, welcher Text in der Hierarchiespalte erscheinen soll.

·        Knoten

Die eigentlichen Einträge der Baumstruktur sind so genannte Knoten. Jeder Knoten besitzt dieselbe Struktur wie die Initialtabelle. Jeder Knoten ist durch einen Schlüssel eindeutig gekennzeichnet.

Ein Knoten kann entweder Blatt oder Zweig sein: Zweige enthalten als Unterknoten entweder weitere Zweige oder Blätter, die nicht mehr weiter untergliedert sind.

·        Item

Items sind die Bestandteile eines Knotens: Jeder Knoten enthält exakt so viele Items, wie die Initialtabelle Spalten enthält. Somit können Sie Items mit den Einträgen einer Spalte vergleichen.

Diese Grafik wird im zugehörigen Text erklärt

Aufgrund des abweichenden Datenmodells können Sie zur Baumstruktur einige Einstellungen vornehmen, die in den anderen ALV-Werkzeugen nicht zur Verfügung stehen.

Zur Hierarchiespalte können Sie folgende Einstellungen vornehmen:

·        Spaltentitel festlegen (Abschnitt Wortlaut des Spaltentitels festlegen)

·        Ikone in den Spaltentitel einfügen (Abschnitt Ikone anzeigen)

·        ToolTip zum Spaltentitel festlegen (Abschnitt ToolTip zum Spaltentitel festlegen)

·        Text zu den Knoten festlegen

·        Ikonen für auf- und zugeklappte Zweige festlegen

·        Blatt als Zweig darstellen

Zu den Knoten können Sie folgende Einstellungen vornehmen:

·        Knotenobjekte holen

·        Knoten erzeugen, verschieben und löschen

·        Zweige auf- und zuklappen

Zu Items können Sie folgende Einstellungen vornehmen:

·        Wert festlegen

·        Darstellung des Items festlegen

·        Markierbarkeit festlegen

Funktionsumfang

Für alle der folgenden Funktionen gilt:

Darstellungsart

ALV-Werkzeug

Klass. ABAP-Liste

Fullscreen

Im Container

Einfache, zweidimensionale Tabelle

Nein

Nein

Nein

Hierarchisch-sequenzielle Liste

Nein

 

 

Baumstruktur

 

Ja

Ja

Knotenobjekt holen

Jeder Knoten wird durch ein Objekt der Klasse CL_SALV_NODE repräsentiert, die Gesamtheit aller Knoten durch das Objekt der Klasse CL_SALV_NODES.

Durch verschiedene Getter-Methoden erhalten Sie die Referenzen auf das gewünschte Knotenobjekt:

Funktion

Klasse

Methode

Gesamtheit aller Knoten

CL_SALV_TREE

GET_NODES

Liste aller Knotenobjekte sowie deren Schlüssel

CL_SALV_NODES

GET_ALL_NODES

Bestimmten Schlüssel

GET_NODE

Obersten Knoten

GET_TOP_NODE

Liste aller Unterknoten sowie deren Schlüssel

CL_SALV_NODE

GET_SUBTREE

GET_CHILDREN

Schlüssel des Knotens holen

GET_KEY

Verwandten Knoten

GET_PARENT

GET_FIRST_CHILD

GET_LAST_CHILD

GET_PREVIOUS_SIBLING

GET_NEXT_SIBLING

Knoten erzeugen, verschieben und löschen

Während Sie bei den beiden ALV-Werkzeugen einfache, zweidimensionale Tabelle und hierarchisch-sequenzielle Liste ganze Tabellen mit einem Befehl anzeigen, müssen Sie bei der Baumstruktur jeden Knoten einzeln erzeugen. Dazu machen Sie mindestens folgende Angaben:

·        Den Inhalt des Knotens, den Sie einfügen möchten.
Der neue Knoten muss exakt die Struktur besitzen, die durch die Initialtabelle vorgegeben ist.

·        Einen Bezugsknoten
Jeder Knoten ist durch einen eindeutigen Schlüssel gekennzeichnet. Wenn noch kein Knoten in der Baumstruktur vorhanden ist, existiert dennoch der so genannte oberste Knoten. Der oberste Knoten besitzt standardmäßig als Schlüssel eine leere Zeichenkette. Sie fügen den neuen Knoten an einer Position relativ zu dem Bezugsknoten ein.

·        Die Beziehung des neuen Knotens zum Bezugsknotens
Sie können den neuen Knoten an einer der folgenden Positionen relativ zum Bezugsknoten einfügen:

Diese Grafik wird im zugehörigen Text erklärt

Methoden

Funktion

Klasse

Methode

Knoten hinzufügen

CL_SALV_NODES

ADD_NODE

Obersten Knoten ändern

SET_TOP_NODE

Knoten innerhalb der Baumstruktur an eine andere Position verschieben

CL_SALV_NODE

MOVE

Knoten mit all seinen Unterknoten löschen

DELETE

Alle Knoten der Baumstruktur löschen

CL_SALV_NODES

DELETE_ALL

Text in der Hierarchiespalte festlegen

Die Hierarchiespalte ist nicht Bestandteil der Initialtabelle. Somit können Sie Texte darin nicht über die Inhalte der Datentabelle steuern. Die Texte in der Hierarchiespalte legen Sie für jeden Knoten einzeln fest.

Methoden

Funktion

Klasse

Methode

Text in der Hierarchiespalte festlegen

CL_SALV_NODE

SET_TEXT

aktuellen Text in der Hierarchiespalte holen

GET_TEXT

Ikonen für auf- und zugeklappte Zweige festlegen

Standardmäßig wird ein Knoten, der Unterknoten enthält, mit einer Ikone gekennzeichnet, die einen Ordner darstellt. Je nachdem ob der Knoten auf- oder zugeklappt ist, ändert sich die Ikone. Sie können für beide Ikonen eine andere Grafik verwenden. Die beiden Ikonen legen Sie für jeden Knoten einzeln fest.

Methoden

Funktion

Klasse

Methode

Ikone für aufgeklappten Zweig festlegen

CL_SALV_NODE

SET_EXPANDED_ICON

Ikone für zugeklappten Zweig festlegen

SET_COLLAPSED_ICON

Ikone für aufgeklappten Zweig holen

GET_EXPANDED_ICON

Ikone für zugeklappten Zweig holen

GET_COLLAPSED_ICON

Blatt als Zweig darstellen

Sie können aus Gründen der Geschwindigkeit einen Knoten als Zweig darstellen, obwohl er keine Unterknoten besitzt. Erst, wenn der Nutzer diesen Knoten aufklappt, fügen Sie die Unterknoten hinzu.

Hinweis

Ein Knoten, der als Zweig dargestellt wird, obwohl er keine Unterknoten enthält, wird auch als leerer Ordner bezeichnet.

Methoden

Funktion

Klasse

Methode

Anstelle der Ikone für Blätter die Ikone für kollabierte Zweige anzeigen

CL_SALV_NODE

SET_FOLDER

Prüfen, ob der Knoten ein leerer Ordner ist

IS_FOLDER

In leerem Ordner einen Expander anzuzeigen

SET_EXPANDER

Prüfen, ob ein leerer Ordner einen Expander besitzt

HAS_EXPANDER

Hinweis

Wenn der Nutzer einen leeren Ordner aufklappt, tritt das Ereignis EXPAND_EMPTY_FOLDER der Klasse CL_SALV_EVENTS_TREE ein.

Zweige auf- und zuklappen oder Bereiche unsichtbar machen

Sie können die Zweige der Baumstruktur einzeln oder gemeinsam auf- und zuklappen. Darüber hinaus können Sie einen Knoten oder ein Item vollständig unsichtbar machen.

Methoden

Funktion

Klasse

Methode

einzelnen Zweig aufklappen

CL_SALV_NODE

EXPAND

einzelnen Zweig zuklappen

COLLAPSE

Alle Zweige aufklappen

CL_SALV_NODES

EXPAND_ALL

Alle Zweige zuklappen

COLLAPSE_ALL

Sichtbarkeit eines Knotens ändern

CL_SALV_NODE

SET_VISIBLE

Prüfen, ob der Knoten sichtbar ist

IS_VISIBLE

Sichtbarkeit eines Items ändern

CL_SALV_ITEM

SET_VISIBLE

Prüfen, ob das Item sichtbar ist

IS_VISIBLE

Inhalt eines Knotens oder eines Items ändern

Während Sie bei den beiden ALV-Werkzeugen einfache, zweidimensionale Tabelle und hierarchisch-sequenzielle Liste Inhalte durch Ändern der übergebenen Tabelle ändern, erfolgen Änderungen in der Baumstruktur auf Knoten- oder Item-Ebene.

Hinweis

Wenn Sie den Inhalt des gesamten Knotens austauschen, muss die Struktur des neuen exakt mit der übereinstimmen, die durch die Initialtabelle vorgegeben wird.

Methoden

Funktion

Klasse

Methode

Inhalt eines Knotens ändern

CL_SALV_NODE

SET_DATA_ROW

Inhalt eines Knotens holen

GET_DATA_ROW

Inhalt eines Items  ändern

CL_SALV_ITEM

SET_VALUE

Inhalt eines Items holen

GET_VALUE

Darstellung des Items festlegen

Sie können in den Items der Baumstruktur nicht nur Text darstellen. Mit dem Typ des Items können Sie festlegen, dass darin eines der folgenden Elemente dargestellt wird:

·        Voreinstellung

·        Text

·        Ankreuzfeld

·        Drucktaste

·        Querverweis

·        Ikone

Für die Typen Ankreuzfeld (CHECKBOX), Drucktaste (BUTTON) und Querverweis (LINK) stehen Ereignisse zur Verfügung, um Interaktionen durch den Nutzer behandeln zu können.

Hinweis

Der Nutzer kann nur den Wert solcher Ankreuzfelder ändern, die aktiviert sind. 

Methoden

Funktion

Klasse

Methode

Typ eines Items festlegen

CL_SALV_ITEM

SET_TYPE

aktuellen Typ des Items holen

GET_TYPE

Wert eines Ankreuzfeldes ändern

SET_CHECKED

Wert einer Checkbox prüfen

IS_CHECKED

Ankreuzfeld aktivieren, so dass der Nutzer interaktiv den Wert ändern kann

SET_EDITABLE

Prüfen, ob ein Ankreuzfeld aktiviert ist

IS_EDITABLE

Ikone einfügen

SET_ICON

Ikone holen

GET_ICON

Beispiel

Um in einem Item eine Ikone darzustellen, gehen Sie wie folgt vor:

¡        Sie weisen dem Item den Typ Voreinstellung (DEFAULT) zu

¡        Sie stellen sicher, dass der Inhalt des Items ein zulässiger Bezeichner der gewünschten Ikone ist (z. B. @AB@)

¡        Sie verwenden in der Klasse CL_SALV_ITEM die Methode SET_ICON

Hinweis

¡        Wenn der Nutzer den Wert eines Ankreuzfeldes ändert, tritt das Ereignis CHECKBOX_CHANGE der Klasse CL_SALV_EVENTS_TREE ein.

¡        Wenn der Nutzer auf ein Item vom Typ Drucktaste (BUTTON) oder Querverweis (LINK) klickt, tritt das Ereignis LINK_CLICK der Klasse CL_SALV_EVENTS_TREE ein.

Markierbarkeit eines Items festlegen

Standardmäßig kann der Nutzer ein Item markieren, indem er hineinklickt oder die Tabulatortaste drückt. Sie können festlegen, dass ein Item für den Nutzer nicht markierbar ist.

Methoden

Funktion

Klasse

Methode

Markierbarkeit eines Items festlegen

CL_SALV_ITEM

SET_ENABLED

Markierbarkeit prüfen

IS_ENABLED

 

Ende des Inhaltsbereichs