Ansicht Dokumentation

Wir wachsen stetig und suchen neue Kollegen (m/w/d)! Schauen Sie sich unsere offenen Position an, um eine passende Herausforderung zu finden!

CL_GUI_COLUMN_TREE - Column Tree Control

CL_GUI_COLUMN_TREE - Column Tree Control

CPI1466 during Backup   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Die Klasse CL_GUI_COLUMN_TREE verschalt das Column Tree Control (COLUMN_TREE).

Ein Column Tree Control hat Spalten. Knoten bestehen aus einem Ordner / Blatt Symbol und aus Items. Ein Knoten kann in jeder Spalte ein Item haben.

Beispiel-Report: SAPCOLUMN_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






PERFORM Short Reference   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 3590 Date: 20210512 Time: 162905     sap01-206 ( 78 ms )