Ansicht
Dokumentation

CL_GUI_LIST_TREE - List Tree Control

CL_GUI_LIST_TREE - List Tree Control

BAL Application Log Documentation   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Die Klasse CL_GUI_LIST_TREE verschalt das List Tree Control (LIST_TREE). Ein List Tree Control hat folgende Eigenschaften:

  • Ein List Tree Control hat keine Spalten.
  • Jeder Knoten hat eine beliebige Anzahl von Items. Die Items eines Knotens werden hintereinander von links nach rechts ausgegeben.
  • Jedes Item hat eine individuelle Länge.

Beispiel-Report: SAPTLIST_TREE_CONTROL_DEMO.

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   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 3795 Date: 20240419 Time: 080227     sap01-206 ( 72 ms )