CL_LIST_TREE_MODEL - Baum neu aufbauen (Refresh) Thema ist als GELÖST markiert

Benutzeroberflächen in SAP®-Systemen.
7 Beiträge • Seite 1 von 1
7 Beiträge Seite 1 von 1

CL_LIST_TREE_MODEL - Baum neu aufbauen (Refresh)

Beitrag von deejey (Specialist / 362 / 101 / 31 ) »
Himmel geht mir das alles auf den Senkel, wie kann ich den Tree komplett neu aufbauen und ausgeben? Ich habe alles vesucht von DELETE_NODE, DELETE_ALL_NODES, sogar die ganze Tree-Instanz gelöscht, auch den zugehörigen Container, das hat alles nichts gebracht: entweder der Container ist leer und nix wird angezeigt oder da stehen noch die alten Daten.

Ich will beim Druck auf REFRESH, dass alles quasi ganz von vorne anfängt: DB-Daten selektieren, Tree komplett neu aufbauen und ausgeben.


Re: CL_LIST_TREE_MODEL - Baum neu aufbauen (Refresh)

Beitrag von a-dead-trousers (Top Expert / 3758 / 142 / 983 ) »
Hast du sichergestellt, dass die Methode CREATE_TREE_CONTROL nur einmal aufgerufen bzw. das CL_LIST_TREE_MODEL nur einmal instanziert wird? Wenn nicht, erzeugst du mit jedem PBO eine neue Tree-Control Instanz im selben Consteiner/CustomControl-Bereich aber nur die äteste wird angezeigt. Das würde auch das von dir beschriebene Verhalten erklären, dass ständig nur die "alten Daten" angezeigt werden.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
deejey

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40

Re: CL_LIST_TREE_MODEL - Baum neu aufbauen (Refresh)

Beitrag von deejey (Specialist / 362 / 101 / 31 ) »
Das ist unter Kontrolle, es wird auf Existenz der Instanz geprüft um sie nicht permanent neu anzulegen. Die Lösung habe ich aber gestern hier gefunden, wie konnte ich das nur übersehen 😜 die TREE-Klasse bietet zwar leider keine FREE-Methode, dafür aber der Container, wenn man diese aufruft wird automatisch auch die Tree-Instanz sauber zerstört

Re: CL_LIST_TREE_MODEL - Baum neu aufbauen (Refresh)

Beitrag von a-dead-trousers (Top Expert / 3758 / 142 / 983 ) »
Das hört sich für mich jetzt irgendwie falsch an.
Normalerweise sollten Container und auch Control solange existieren als auch das Dynpro existiert. Erst beim Verlassen des Dynpro sollte man (vorsorglich) FREE aufrufen.
Bei den Model-Klassen kommt halt noch dazu, dass sie die Controls komplett selbst verwalten und (intern) von der bereits erwähnten Prämisse ausgehen, dass erst mit dem Verlassen des Dynpros die Controls zerstört werden müssen. Was normalerweise auch implizit passiert.
Ein einfacher Klick auf einen Button für "Refresh" sollte meines Erachtens kein "Verlassen und erneutes Aufrufen" des Dynpros beinhalten. Daher ist das Zerstören des Containers als auch des Controls eigentlich sinnloser Overkill. Das Refresh lässt sich auch mit den Methoden der Model-Klasse lösen.

Und wenn man das Control wirklich mal manuell zerstören muss, hat man ja über die Methode CREATE_TREE_CONTROL Zugriff auf die erzeugte Instanz. Die muss man man sich nur zusätzlich zum Model in einer eigenen Variable merken. Will man diese aus irgendwelchen Gründen zerstört wissen, reicht es FREE aufzurufen und dannach wieder mit CREATE_TREE_CONTROL eine neue Instanz zu erzeugen.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40

Re: CL_LIST_TREE_MODEL - Baum neu aufbauen (Refresh)

Beitrag von deejey (Specialist / 362 / 101 / 31 ) »
Das hört sich auch für mich falsch an, deshalb hatte ich das auch nie irgendwie als Möglichkeit erwogen, nur aus Hilfslosigkeit alles mögliche ausprobiert. Das Coding kommt direkt aus dem SAP-Beispielprogramm SAPTLIST_TREE_MODEL_DEMO.

Das Refresh lässt sich auch mit den Methoden der Model-Klasse lösen.
Ich habs versucht, mit verschiedenen Methoden, es ist mir nicht gelungen ... f.uck it, hauptsache es funktioniert, hat mich genug Zeit gekostet das alles.

Re: CL_LIST_TREE_MODEL - Baum neu aufbauen (Refresh)

Beitrag von a-dead-trousers (Top Expert / 3758 / 142 / 983 ) »
Naja... Bei dem SAP-Beispielprogramm wird das FREE auch nur beim Verlassen des Dynpros aufgerufen und nicht "irgendwo mitten drinnen".
Aber gut, wenn es nur so bei dir klappt soll es wohl auch so gut sein.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40

Re: CL_LIST_TREE_MODEL - Baum neu aufbauen (Refresh)

Beitrag von deejey (Specialist / 362 / 101 / 31 ) »
Ich habe einfach kein Budget mehr für die weitere Forschung, kann mich da auch mit niemanden auf der Detailtiefe unterhalten. SAP hat da leider keine FREE-Methode bereitgestellt, dann weiß ich auch nicht

Seite 1 von 1

Über diesen Beitrag



ABAP & SAP eBook Flatrate von Espresso Tutorials Sponsorlink
Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

SAP Query Report Einkauf /Finanz
vor 7 Minuten von wreichelt 5 / 32
Neue Lohnart anlegen
vor einer Stunde von Kerstin 3 / 34

Vergleichbare Themen

List Tree Model
von treyfifty » 27.07.2016 08:48
List Tree Model
von treyfifty » 27.07.2016 08:48
List Tree Model mit Toolbarmenü?
von MacLeod » 18.12.2012 13:16
List Tree Model und Einträge auf Anforderung laden
von SkyHobbit » 27.07.2005 08:45
Nochmal...List Tree Model und Einträge auf Anforderung laden
von SkyHobbit » 06.09.2005 07:40