Entwicklung von Baumstrukturen mit htmlb

BusinessServerPages; Erstellung von Webapplikationen.

Entwicklung von Baumstrukturen mit htmlb

Postby Alva1590 » Wed Jan 28, 2004 8:54 am

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
Alva1590
.....
.....
 
Posts: 4388
Joined: Mon Dec 02, 2002 3:01 pm

Postby Philippa2744 » Wed Jan 28, 2004 10:23 am

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.
Philippa2744
...
...
 
Posts: 303
Joined: Fri Mar 07, 2003 5:17 pm

Postby Christian4831 » Wed Jan 28, 2004 10:25 am

Hi,

vielleicht hilft dir ja dieses Beispiel weiter:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1.         <%
  2.           data:
  3.           tab type tview,
  4.           wa_tab like line of tab.
  5.           clear wa_tab.
  6.           wa_tab-treeid = 'myTree4'.
  7.           wa_tab-parentid = ''.
  8.           wa_tab-childid = 'root'.
  9.           wa_tab-text = 'Root'.
  10.           wa_tab-link = 'http://www.sap.com'.
  11.           wa_tab-click = 'Hello'.
  12.           wa_tab-STATUS   = 'open'.
  13.           wa_tab-tlevel = '1'.
  14.           append wa_tab to tab.
  15.           clear wa_tab.
  16.           wa_tab-treeid = 'myTree4'.
  17.           wa_tab-parentid = 'root'.
  18.           wa_tab-childid = 'node1'.
  19.           wa_tab-text = 'node1'.
  20.           wa_tab-status = 'open'.
  21.           wa_tab-tlevel = '2'.
  22.           append wa_tab to tab.
  23.           clear wa_tab.
  24.           wa_tab-treeid = 'myTree4'.
  25.           wa_tab-parentid = 'node1'.
  26.           wa_tab-childid = 'node11'.
  27.           wa_tab-text = 'node11'.
  28.           wa_tab-STATUS   = 'final'.
  29.           wa_tab-tlevel = '3'.
  30.           append wa_tab to tab.
  31.           clear wa_tab.
  32.           wa_tab-treeid = 'myTree4'.
  33.           wa_tab-parentid = 'node1'.
  34.           wa_tab-childid = 'node12'.
  35.           wa_tab-text = 'node12'.
  36.           wa_tab-click = 'node12'.
  37.           wa_tab-STATUS   = 'final'.
  38.           wa_tab-tlevel = '3'.
  39.           append wa_tab to tab.
  40.           clear wa_tab.
  41.           wa_tab-treeid = 'myTree4'.
  42.           wa_tab-parentid = 'root'.
  43.           wa_tab-childid = 'node2'.
  44.           wa_tab-text = 'node2'.
  45.           wa_tab-click = 'node2'.
  46.           wa_tab-STATUS   = 'closed'.
  47.           wa_tab-tlevel = '2'.
  48.           append wa_tab to tab.
  49.           clear wa_tab.
  50.           wa_tab-treeid = 'myTree4'.
  51.           wa_tab-parentid = 'node2'.
  52.           wa_tab-childid = 'node21'.
  53.           wa_tab-text = 'node21'.
  54.           wa_tab-STATUS   = 'final'.
  55.           wa_tab-tlevel = '3'.
  56.           append wa_tab to tab.
  57.           clear wa_tab.
  58.           wa_tab-treeid = 'myTree4'.
  59.           wa_tab-parentid = 'node2'.
  60.           wa_tab-childid = 'node22'.
  61.           wa_tab-text = 'node22'.
  62.           wa_tab-STATUS   = 'final'.
  63.           wa_tab-tlevel = '3'.
  64.           append wa_tab to tab.
  65.           clear wa_tab.
  66.           wa_tab-treeid = 'myTree4'.
  67.           wa_tab-parentid = 'root'.
  68.           wa_tab-childid = 'node3'.
  69.           wa_tab-text = 'node3'.
  70.           wa_tab-link = 'http://www.sap.com'.
  71.           wa_tab-STATUS   = 'open'.
  72.           wa_tab-tlevel = '2'.
  73.           append wa_tab to tab.
  74.         %>
  75.         <htmlb:tree id    = "myTree4"
  76.                     table = "<%= tab %>" />
GeSHi ©


allgemeine Beispiele zu BSPs kannst du finden, wenn du in der SE80 nach BSP Applikationen mit dem Prefix SBSP suchst.

ciao,

Tim
Christian4831
..
..
 
Posts: 91
Joined: Mon Dec 02, 2002 7:33 pm

Postby Philippa2744 » Wed Jan 28, 2004 10:25 am

Noch was: toggle ist 'X' oder eben ' '.

Ciao, LoLo
Philippa2744
...
...
 
Posts: 303
Joined: Fri Mar 07, 2003 5:17 pm

HTMLB-Baumstrukturen

Postby Ellen3429 » Thu Feb 05, 2004 2:02 pm

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
Ellen3429
..
..
 
Posts: 20
Joined: Wed Oct 15, 2003 11:53 am

Baumstrukturen

Postby Ellen3429 » Thu Feb 05, 2004 2:28 pm

Mea culpa :?
hab gerade in der TVIEW nachgesehen ---> es gibt da ja ein Attribut dafür
Ellen3429
..
..
 
Posts: 20
Joined: Wed Oct 15, 2003 11:53 am

Postby Philine1214 » Mon Apr 25, 2005 11:44 am

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
Philine1214
.
.
 
Posts: 4
Joined: Tue Mar 22, 2005 1:01 pm


Return to BSP + BHTML

Who is online

Users browsing this forum: No registered users and 2 guests

cron
  • Latest Topics