Anfang des Inhaltsbereichs

Syntaxdokumentation add_nodes_and_items  Dokument im Navigationsbaum lokalisieren

Diese Methode fügt Knoten und Einträge in den Baum ein. Dazu benötigen Sie je eine interne Tabelle, in der die einzufügenden Knoten und Einträge enthalten sind.

Die Knotentabelle wird am Frontend in der Reihenfolge abgearbeitet, wie Sie diese aufgebaut haben. Daher müssen Sie darauf achten, daß vor dem Einfügen eines Knotens auch dessen übergeordnete Knoten vorhanden sind.

Achtung

Ein Tree-Control Proxy-Objekt (hier list_tree oder column_tree ) hat keinen Datenbestand. Es dient lediglich dazu, Daten zum SAP Tree am Frontend zu übertragen bzw. Daten vom Tree Control am Frontend zu holen. Eine Anwendung muß ihre eigene Baumdatenstruktur pflegen.

CALL METHOD tree->add_nodes_and_items

     EXPORTING  node_table                = node_table
                item_table                = item_table
                item_table_structure_name = item_table_structure_name
     EXCEPTIONS failed                         = 1
                cntl_system_error              = 2
                error_in_tables                = 3
                dp_error                       = 4
                table_structure_name_not_found = 5.

Parameter

Bedeutung

node_table

Name der internen Knotentabelle

Die Tabelle wird mit Bezug auf treev_ntab angelegt.

item_table

Name der internen Tabelle der einzufügenden Einträge

Die Tabelle wird mit Bezug auf eine selbstdefinierte Struktur angelegt.

item_table_structure_name

Name der Struktur, über die Sie die interne Tabelle der Einträge angelegt haben

Füllen der Knotentabelle:

Die Struktur der Knotentabelle besteht aus folgenden Feldern. Sie müssen diese für jeden Knoten entsprechend füllen.

node_key

Name des zu definierenden Knotens. Der Name muß ein eindeutiger Schlüssel innerhalb des Baums sein. Der Knoten darf bisher noch nicht existieren.

relatkey

Name des verwandten Knotens. Der verwandte Knoten muß bereits im Baum definiert sein. Daher darf er in der Knotentabelle nicht unter dem aktuellen Knoten stehen.

Ist dieser Wert initial, wird der Knoten als Wurzelknoten eingefügt.

relatship

Art der Verwandtschaft zu dem in relatkey angegebenen Knoten:

tree->relat_first_child ( node_key wird als erstes Kind des Knotens relatkey eingefügt)

tree->relat_last_child ( node_key wird als letztes Kind des Knotens relatkey eingefügt)

tree->relat_prev_sibling ( node_key wird vor relatkey auf gleicher Hierarchiestufe eingefügt)

tree->relat_next_sibling ( node_key wird nach relatkey auf gleicher Hierarchiestufe eingefügt)

tree->relat_first_sibling ( node_key wird vor allen Knoten eingefügt, die die gleiche Hierarchiestufe wie relatkey besitzen)

tree->relat_last_sibling ( node_key wird nach allen Knoten eingefügt, die die gleiche Hierarchiestufe wie relatkey besitzen)

hidden

initial: Knoten wird angezeigt

‘X’ : Knoten wird nicht angezeigt

disabled

initial: Knoten selektierbar

‘X’ : Knoten nicht selektierbar

isfolder

initial: Knoten hat keine Unterknoten

‘X’ : Knoten besitzt Unterknoten

n_image

Angabe einer selbstdefinierten Ikone für einen geschlossenen Ordner bzw. ein Blatt:

' ': Es wird die Default-Ikone verwendet

'@xy@' : Es wird die Ikone mit dem Namen xy verwendet

'BNONE' : Es wird keine Ikone verwendet. Dadurch verschiebt sich die Ausgabe des Knotens nach vorn.

exp_image

Angabe einer selbstdefinierten Ikone für einen geöffneten Ordner:

' ': Es wird die Default-Ikone verwendet

'@xy@' : Es wird die Ikone mit dem Namen xy verwendet

'BNONE' : Es wird keine Ikone verwendet. Dadurch verschiebt sich die Ausgabe des Knotens nach vorn.

last_hitem

Name des letzten Eintrags, der unter der Hierarchieüberschrift stehen soll. (nur bei List Tree möglich)

no_branch

initial: Hierarchielinie wird zu dem Knoten gezeichnet

'X' : keine Hierarchielinie wird zu dem Knoten gezeichnet

no_branch

initial: Es wird eine Zweiglinie zum Knoten gezeichnet

'X' : Es wird keine Zweiglinie zum Knoten gezeichnet.

expander

initial: Knoten hat kein '+'-Symbol zum Expandieren. Diese Einstellung ist nur für Knoten ohne Kinder gültig.

‘X’ : Knoten muß Ordner sein ( isfolder = 'X' ) und hat ein '+'-Symbol zum Expandieren. Besitzt der Knoten beim Expandieren noch keine Kinder, wird das Ereignis EXPAND_NO_CHILDREN ausgelöst.

dragdropid

Diesem Feld weisen Sie ein Handle auf das Drag&Drop-Verhalten des Knotens zu (siehe auch Definition von Ereignissen bei Drag&Drop im SAP Tree)

Anlegen der Dictionary-Struktur für die Tabelle der Einträge:

Beim Anlegen Ihrer Dictionary-Struktur <my_item> müssen Sie die Struktur treev_item includieren und zusätzlich ein Textfeld mit Namen Text definieren. Das Textfeld muß über ein Textdatenelement definiert werden.

Füllen der Tabelle der Einträge:

node_key

Name des Knotens, zu dem dieser Eintrag angezeigt werden soll.

item_name

Name der Spalte, in der dieser Eintrag angezeigt werden soll.

Beim List Tree sind hier Zahlen ³ 1 erlaubt.

Beim Column Tree wird hier die vorher definierte Spalte angegeben.

class

tree->item_class_text : Eintrag in Textform

tree->item_class_checkbox : Eintrag als Ankreuzfeld

tree->item_class_button : Eintrag als Drucktaste

tree->item_class_link : Eintrag als Link

font

Schriftart:

tree->item_font_default : entspricht in der Baumstruktur tree->item_font_prop . Im List Tree entspricht es tree->item_font_fixed .

tree->item_font_fixed : GUI-Fixed-Font

tree->item_font_prop : GUI-Proportional-Font

disabled

Inaktivieren eines Eintrags

editable

Editierbarkeit eines Eintrags

hidden

Sichtbarkeit eines Eintrags

alignment

Ausrichtung eines Eintrags (nur im List Tree)

t_image

Ikone des Eintrags

chosen

Ankreuzfeld angekreuzt

togg_right

togg_right darf nur bei Einträgen der Klasse TREE->ITEM_CLASS_CHECKBOX verwendet werden. Ist togg_right initial, so steht das Ankreuzfeld auf der linken Seite des Textes. Ansonsten steht das Ankreuzfeld auf der rechten Seite des Textes.

style

Style des Eintrags. Folgende Styles stehen zur Verfügung:

tree->style_default

tree->style_inherited

tree->style_intensified

tree->style_inactive

tree->style_intensified_critical

tree->style_emphasized_negative

tree->style_emphasized_positive

tree->style_emphasized

length

Sichtbare Länge des Eintrags (nur im List Tree)

length_pix

Angabe der Länge in Pixels (nur im List Tree)

ignoreimag

Darf nur bei List Tree verwendet werden.

initial: LENGTH enthält die Breite des Textes des Eintrags. Besitzt der Eintrag ein Ankreuzfeld oder eine Ikone, so wird deren Breite zur Textbreite addiert.

'X': LENGTH enthält die Breite des gesamten Eintrags. Eine vorhandene Ikone nimmt also Breite für den Text weg.

usebgcolor

Darf nur bei List Tree verwendet werden.

'X' : Der Eintrag hat eine Hintergrundfarbe, die sich leicht von der Hintergrundfarbe des Tree Controls abhebt.

initial: Die Hintergrundfarbe ist gleich.

text

Text des Eintrags

Hinweis

Ein Wechsel der Schriftart durch den Benutzer wirkt sich erst beim nächsten erzeugten SAP Tree aus.

Hinweis

Die Ikone kann über ihren Namen (z.B. ICON_ANNOTATION ) angesprochen werden. Dazu muß aber in Ihrem Programm das Include <ICON> eingebunden werden.