Ansicht
Dokumentation

CL_GUI_SIMPLE_TREE - Simple Tree Control

CL_GUI_SIMPLE_TREE - Simple Tree Control

RFUMSV00 - Advance Return for Tax on Sales/Purchases   rdisp/max_wprun_time - Maximum work process run time  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Der Simple Tree wird mit Referenz auf die Klasse cl_gui_simple_tree angelegt:

DATA simple_tree TYPE REF TO cl_gui_simple_tree.

Nach der Vererbungshierarchie haben Sie nun Zugriff auf die Methoden folgender Klassen:

  • cl_gui_object und cl_gui_control
  • cl_gui_tree_control_base
  • cl_gui_simple_tree

Die Verwendung des Simple Trees wird im Programm sapsimple_tree_control_demo demonstriert.

Wichtige Hinweise

  • Werden in einem PBO/PAI-Zyklus zu viele Knoten in das Tree Control übertragen, kann es zu einem Timeout-Abbruch kommen.
  • Sollen viele Teilobjekte geändert werden (z.B. 20 Texte), so sollte aus Performance-Gründen eine Methode mit Tabellenschnittstelle (update_...) verwendet werden, anstatt 20 Einzelmethoden zu rufen. Dieses gilt auch für andere Operationen wie Expandieren usw.
  • In einem PBO/PAI-Zyklus sollten Methoden mit einer Tabellenschnittstelle nicht mehrfach gerufen werden. Beispiel: Anstatt mit 20 Methodenrufen ADD_NODES_... je 5 Knoten einzufügen, sollte man besser mit einem Methodenaufruf alle 100 Knoten einfügen.
  • Die Exceptions der Tree Control Methoden setzen keine Message.
  • Die Exceptions der Tree Control Methoden und von Flush-Aufrufen dürfen auf keinen Fall ignoriert werden. Tritt ein Fehler auf, wird die Abarbeitung der Automation Queue abgebrochen. Hiervon sind SÄMTLICHE Controls eines internen Modus betroffen. Nach Auftreten eines Fehlers darf ein interner Modus nicht mehr mit Controls weiterarbeiten.
  • Das Tree Control ist prinzipiell nicht zur Darstellung von Listen ohne Hierarchie geeignet, da bei einem Tree Control immer alle Wurzelknoten zum Control übertragen werden müssen. Listen mit vielen Einträgen führen somit zu Performance-Problemen.

Fehlersuche

Läuft ein bisher korrektes Programm plötzlich nicht mehr, sollte zunächst überprüft werden, ob die Tree Control Beispiele noch funktionieren.

Fehler bei der Controlverarbeitung treten meist erst beim FLUSH-Call auf: Methode CL_GUI_CFW=>FLUSH (bzw. Funktionsbaustein CONTROL_FLUSH im alten Framework), Exception CNTL_ERROR. Die Ausnahme CNTL_ERROR sagt zunächst nur aus, daß irgendetwas bei Controls am Frontend schiefgegangen ist. Der Fehler muß noch nicht einmal beim Tree Control liegen, sondern kann auch bei einem anderen Control aufgetreten sein: Wurden auch Methoden eines anderen Controls fehlerhaft gerufen, so kann auch dort der Fehler liegen.

Die Fehlersuche ist in zwei Abschnitte unterteilt:

  • In einem Programm tritt ein Control-Fehler auf.
  • Das Programm wird im Debugging erneut gestartet. Wählen Sie im Debugger das "Einstellungen"-Bild. Kreuzen sie dort das Ankreuzfeld "Automation Controller: Aufträge immer synchron verarbeiten" an. Jetzt liefern die Methoden des Tree Controls genauere Information über die Fehlerursache, sofern der Fehler beim Tree Control aufgetreten ist. Beispielsweise liefert die Methode SELECT_NODE jetzt die Exception NODE_NOT_FOUND, wenn der zu selektierende Knoten nicht im Baum ist.

Beziehungen

Beispiel

Hinweise

Weiterführende Informationen






Fill RESBD Structure from EBP Component Structure   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 3870 Date: 20240418 Time: 171314     sap01-206 ( 86 ms )