Entwicklung von Baumstrukturen mit htmlb

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

ABAP Web Dynpro, BusinessServerPages; Erstellung von Webapplikationen.
7 Beiträge • Seite 1 von 1
7 Beiträge Seite 1 von 1

Entwicklung von Baumstrukturen mit htmlb

Beitrag von Gast ( / / 0 / 3 ) »
Hallo!

Ich bin gerade dabei eine BSP-Applikation unter Einsatz von htmlb
zu schreiben, die eine dynamisch generierte Baumstruktur erzeugen
soll.
Um den Baum zu erzeugen benutze ich das htmlb-Tag <tree>. In
der Konfiguration dieses Tags kann ich das Attribut 'table'
setzen, das einen Baum aus der übergebenen internen Tabelle
automatisch generiert. In der Beschreibung des tree-Tags steht
nur, das diese Tabelle vom Typ TVIEW sein muss. Tabellen dieses
Typs haben vordefinierte Felder, wie z.B. ParentID, ChildID
u.s.w.. Und da ist auch schon das erste Problem, denn diese Felder
sind anscheinend nirgendwo dokumentiert.

Wofür sind die einzelnen Felder der TVIEW-Struktur jeweils
gedacht, insbesondere die Felder TLEVEL und SIBLID?

Außerdem:
- Welche Einträge sind im Feld TOGGLE zulässig?
- Wie wird das toggeln aktiviert (muss ich dazu im Browser (insb.
im IE) auch noch Einstellungen vornehmen)?
- Wie definiere ich einen Blattknoten (das Feld CHILDID darf ja
offensichtlich niemals leer sein)?
- Was genau bedeutet der Eintrag 'final`im Feld STATUS der
TVIEW.Struktur?

Darüber hinaus bin ich jedem dankabar, der mir Hinweise auf SAP
Dokumentationen gibt. Ich habe den Eindruck das SAP teilweise nur
unzureichend oder gar nicht dokumentiert. Alleine um rauszufinden,
dass es einer TVIEW Tabelle einen Eintrag ohne PARENTID geben muss
habe ich fast einen ganzen Tag gebraucht. Weder zur TVIEW Struktur
noch zu den BSP-Beispielen zum tree-Tag habe ich bisher
ausführliche Dokus gefunden.

Ich danke vorab allen, die antworten.

Mfg,
Torben

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von LoLo ( / / 0 / 3 ) »
Moin Torben,

würde Dir einen Blick in die BSP-Applikation HTMLB_SAMPLES (Ta SE80) empfehlen. Da gibt es ein gutes Beispiel für die Verwendung des Trees. Ausserdem kannst Du mit den Parametern zur Laufzeit etwas 'spielen'.

Dann noch ein Auszug aus der Doku zum Tag:
IS HTMLB TREE
Funktionalität
Dieses BSP-Element ordnet eine Reihe von Einträgen hierarchisch in Baumform an.

Eine hierarchische Darstellung von Daten findet man auf Web-Seiten häufig, z.B. bei Navigationsleisten, Menüstrukturen oder Indizes. Stellen Sie sich z.B. vor, Sie möchten ein umfangreiches Handbuch mit vielen Kapiteln, Abschnitten, Bildern und Tabellen präsentieren. Ein solches Dokument können Sie mit dem tree -Element strukturieren.

Zentrales Element des tree-Elements ist der Knoten. Ein Knoten kann ein 'Blatt' oder ein 'Ordner' sein. Ein Blatt stellt einzelne Informationen dar, z.B. eine URL, ein Buchtitel oder ein Dateiname, während ein Ordner weitere Knotenelemente enthält. Ein Baum definiert bestimmte Beziehungen zwischen seinen Knoten: Jeder Knoten hat einen einzelnen 'Eltern'knoten, d.h. ein Element auf der nächsthöheren Ebene in der Hierarchie. Ein Ordner hat 'Kind'knoten, d.h. eine Reihe von Knoten auf der nächsttieferen Ebene in der Hierarchie. Ein Knoten kann außerdem 'Geschwister' haben, die sich auf derselben Hierarchieebene befinden.

Jeder Knoten in einem tree-Element wird durch ein Element treeNode repräsentiert. Dieses Element bestimmt beispielsweise, welcher Textbezeichner als Knoteninhalt angezeigt werden sollund ob es sich bei dem Knoten um einen Ordner oder um ein Blatt handelt. Außerdem trägt jeder Knoten das Attribut id. Dabei handelt es sich um einen eindeutigen Namen, mit dem der Knoten in der Hierarchie identifiziert wird.

Das tree-Element zeigt ein komplexes visuelles Design und Verhalten. Klickt der Benutzer auf das Expandiersymbol eines Ordnerknotens, wird der entsprechende Teilbaum sichtbar. Das Umschalten des Zustands erfolgt lokal im Client-Browser. Wenn der Benutzer den Inhalt eines Knotens anklickt, d.h. den Textbezeichner oder das eventuell vorhandene Symbol, löst der Knoten das Ereignis onNodeClick aus.

Die innere Element-Struktur besteht aus treeNode-Elementen. Alternativ können Sie einen tree füllen, indem Sie eine Tabelle mit dem Typ TVIEW einsetzen.

Attribute
Name Obligatorisch Beschreibung
id x Eindeutiger Name, der das BSP-Element identifiziert. Dieses Attribut wird im Eventhandling und im Datenhandling verwendet.



title Mit diesem Attribut legen Sie den Titel für den Baum fest. Standardmäßig ist hierfür "Tree" festgelegt.



tooltip Mit diesem Attribut legen Sie den Text für die Quick-Info fest, der erscheint, wenn der Cursor über den Baum bewegt wird.



width Mit diesem Attribut legen Sie die Breite des Baums fest.



height Mit diesem Attribut legen Sie die Höhe des Baums fest.



table Mit diesem Attribut spezifizieren Sie die Tabelle, aus der die Werte für den Baum gezogen werden sollen. Diese Tabelle hat den Typ TVIEW (siehe Dicitionary).



onTreeClick Mit diesem Attribut setzen Sie den Eventhandler, der aufgerufen wird, wenn der Baum angeklickt wird.



toggle Mit diesem Attribut können Sie, sofern Ihr Browser dies unterstützt, das Auf- und Zuklappen des Baums Browser-seitig aktivieren, ohne dass auf den Server zugegriffen werden muss.

Beispiel
Siehe BSP-Applikation SBSPEXT_HTMLB, Seite treeExample.bsp

Ereignisbehandlung
Für dieses BSP-Element werden keine Events unterstützt.

Datenextraktion bei eingehenden Requests
Für dieses BSP-Element wird kein Datenhandling unterstützt.

Tipps und Tricks
Das tree-Element ist nicht für die Anzeige von Baumstrukturen mit Tausenden von Knoten und Blättern vorgesehen. Generell sollte ein Baum nie mehr als 30 bis 50 Einträge enthalten. Beachten Sie, dass die Größe Ihrer HTML-Seiten proportional zur Anzahl der Einträge wächst.
Netscape 4.x-Browser unterstützen nicht das lokale Umschalten der Sichtbarkeit von Knoten. Das tree -Element wird daher immer vollständig expandiert dargestellt.
Weiterführende Informationen
Die Dokumentation finden Sie auf dem SAP Help Portal (http://help.sap.com/) unter SAP NetWeaver -> SAP Web Application Server . In der SAP-Bibliothek wählen Sie dann z.B. für SAP Web Application Server 6.20, Support Package 25, den Pfad: SAP-NetWeaver-Komponenten -> SAP Web Application Server -> Business Server Pages (BC-BSP) -> Web Application Server -> Web-Applikationen und Business Server Pages -> Programmiermodell -> BSP-Extensions.
Hoffe das hilft Dir weiter.

Ciao, LoLo.

Beitrag von Tim (ForumUser / 91 / 0 / 0 ) »
Hi,

vielleicht hilft dir ja dieses Beispiel weiter:

Code: Alles auswählen.

        <%
          data:
          tab type tview,
          wa_tab like line of tab.
          clear wa_tab.
          wa_tab-treeid = 'myTree4'.
          wa_tab-parentid = ''.
          wa_tab-childid = 'root'.
          wa_tab-text = 'Root'.
          wa_tab-link = 'http://www.sap.com'.
          wa_tab-click = 'Hello'.
          wa_tab-STATUS   = 'open'.
          wa_tab-tlevel = '1'.
          append wa_tab to tab.
          clear wa_tab.
          wa_tab-treeid = 'myTree4'.
          wa_tab-parentid = 'root'.
          wa_tab-childid = 'node1'.
          wa_tab-text = 'node1'.
          wa_tab-status = 'open'.
          wa_tab-tlevel = '2'.
          append wa_tab to tab.
          clear wa_tab.
          wa_tab-treeid = 'myTree4'.
          wa_tab-parentid = 'node1'.
          wa_tab-childid = 'node11'.
          wa_tab-text = 'node11'.
          wa_tab-STATUS   = 'final'.
          wa_tab-tlevel = '3'.
          append wa_tab to tab.
          clear wa_tab.
          wa_tab-treeid = 'myTree4'.
          wa_tab-parentid = 'node1'.
          wa_tab-childid = 'node12'.
          wa_tab-text = 'node12'.
          wa_tab-click = 'node12'.
          wa_tab-STATUS   = 'final'.
          wa_tab-tlevel = '3'.
          append wa_tab to tab.
          clear wa_tab.
          wa_tab-treeid = 'myTree4'.
          wa_tab-parentid = 'root'.
          wa_tab-childid = 'node2'.
          wa_tab-text = 'node2'.
          wa_tab-click = 'node2'.
          wa_tab-STATUS   = 'closed'.
          wa_tab-tlevel = '2'.
          append wa_tab to tab.
          clear wa_tab.
          wa_tab-treeid = 'myTree4'.
          wa_tab-parentid = 'node2'.
          wa_tab-childid = 'node21'.
          wa_tab-text = 'node21'.
          wa_tab-STATUS   = 'final'.
          wa_tab-tlevel = '3'.
          append wa_tab to tab.
          clear wa_tab.
          wa_tab-treeid = 'myTree4'.
          wa_tab-parentid = 'node2'.
          wa_tab-childid = 'node22'.
          wa_tab-text = 'node22'.
          wa_tab-STATUS   = 'final'.
          wa_tab-tlevel = '3'.
          append wa_tab to tab.
          clear wa_tab.
          wa_tab-treeid = 'myTree4'.
          wa_tab-parentid = 'root'.
          wa_tab-childid = 'node3'.
          wa_tab-text = 'node3'.
          wa_tab-link = 'http://www.sap.com'.
          wa_tab-STATUS   = 'open'.
          wa_tab-tlevel = '2'.
          append wa_tab to tab.
        %>
        <htmlb:tree id    = "myTree4"
                    table = "<%= tab %>" />
allgemeine Beispiele zu BSPs kannst du finden, wenn du in der SE80 nach BSP Applikationen mit dem Prefix SBSP suchst.

ciao,

Tim

Beitrag von LoLo ( / / 0 / 3 ) »
Noch was: toggle ist 'X' oder eben ' '.

Ciao, LoLo

HTMLB-Baumstrukturen

Beitrag von Neuwolf ( / / 0 / 3 ) »
Hallo zusammen :D

Habe gerade eure Abhandlung bzgl. Baumstrukturen mittels htmlb gelesen.
Da hätte ich auch noch eine Frage dazu:

Kann man beim link auf eine andere pae auch mitgeben, dass diese page in einem bestimmten frame (target=....) aufzublenden ist ?

Grüsse

Neuwolf

Baumstrukturen

Beitrag von Neuwolf ( / / 0 / 3 ) »
Mea culpa :?
hab gerade in der TVIEW nachgesehen ---> es gibt da ja ein Attribut dafür

Beitrag von dOoMi ( / / 0 / 3 ) »
hi!
ich habe einen tree, will aber, dass man nicht nur durch klicken der knoten (die kleinen dreiecke), sondern auch durch klicken des textes die knoten öffnen kann. dazu habe ich einen "onNodeClick" eingefügt. ich weiss nur leider nicht, wie das event heissen soll. mit onNoteClicke = "nodeClick" klappt's leider nicht :)

hat von euch jemand ne ahnung?

gruss
dominik

Seite 1 von 1

Vergleichbare Themen

7
Antw.
3028
Views
App Entwicklung SAP WEB IDE
von burggartenkind » 29.05.2019 13:12 • Verfasst in Java & SAP®
4
Antw.
2380
Views
SAP-Entwicklung empfehlenswert?
von UserX » 10.08.2010 23:01 • Verfasst in SAP - Allgemeines
1
Antw.
701
Views
GLD Entwicklung Zukunft
von ratsnus » 08.06.2021 17:30 • Verfasst in Material Management & Produktionsplanung
0
Antw.
3612
Views
Entwicklung eines iView
von larsi » 08.01.2006 15:59 • Verfasst in Enterprise Portal
0
Antw.
4110
Views

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 107
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 140