Simple Tree auf mehreren Dynpros

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
11 Beiträge • Seite 1 von 1
11 Beiträge Seite 1 von 1

Simple Tree auf mehreren Dynpros

Beitrag von joergjoerg (ForumUser / 17 / 0 / 0 ) »
Hallo,

ich bin noch Anfänger, was ABAP angeht und habe eine Frage bezüglich des Simple Trees:

Und zwar hab ich einen Simple Tree erstellt, dessen Code ich aus dem ABAP Objects-Buch der SAP-Press habe. Die Füllung und die Abfrage der Ereignisse funktioniert wunderbar. Das ganze liegt auf dem Dynpro 100, rechts ist eine Datenmaske, deren Inhalt beim Klick auf die Ordner des Trees mit dem entsprechenden Dateninhalt gefüllt wird. Auch das Funktioniert wunderbar.

Jetzt kommt das Problem: Wird auf ein Objekt innerhalb eines Ordners geklickt, sollte ein anderes Dynpro aufgerufen werden. Dies ist auch der Fall. Leider wird der Tree für das Dynpro 200 nicht aufgebaut aufgrund folgendes Codes:

Code: Alles auswählen.

class SCREEN_HANDLER implementation.
  method CREATE_SCREEN.
   if SCREEN is initial.
     create object SCREEN.
   endif.
  endmethod.  
Wenn ich die Abfrage nach

Code: Alles auswählen.

if SCREEN is initial
entferne, wird der Tree auch erzeugt, jedoch bei jedem Klick zusätzlich. Sprich nach 5 Dopppelklicks habe ich 5 Trees nebeneinander.

Gibt es hier eine Lösung, entweder den Screen auf initial zu setzen, nur einen bestimmten Screen abzufragen oder nach anderen Kriterien abzufragen, so dass der Tree jeweils nur einmal PRO DYNPRO aufgebaut wird?

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von just (ForumUser / 35 / 0 / 0 ) »
verwendest du eigentlich die screen (übrigens ein schlechter name, wegen der verwechslungsgefahr!) für alle deine trees?

wenn ja solltest du evtl. für jedes dynpro eine eigene variable verwenden:
screen_100
screen_200
etc.

was du aber auch machen kannst ist eine globale variable setzen, die dir darüber auskunft gibt, ob du schon ein tree hast.
oder du zersörst den screen, wenn du es loswerden willst:
screen->free. (glaub ich)
clear screen.

Beitrag von joergjoerg (ForumUser / 17 / 0 / 0 ) »
leider hat screen->free nicht geklappt. da kommt ein syntaxfehler.

FREE SCREEN bringt keinen abbruch, erbringt jedoch nicht die gewünschte wirkung. werde mal den vorschlag mit den variablen austesten.

Beitrag von joergjoerg (ForumUser / 17 / 0 / 0 ) »
Also das mit den Variablen funktioniert wunderbar jetzt... leider wird dabei für jeden erstellten Screen mit Tree einzeln abgespeichert, welche Nodes erweitert sind etc. Dies ist sehr nervig.

Gibt es eine möglichkeit, die ganzen Einstellungen weiterzugeben an die Trees der anderen Screens oder von allen Screens auf einen Tree zuzugreifen? Gebe mich auch gerne mit einer Lösung zum Zerstören der Trees zufrieden ;)

Beitrag von just (ForumUser / 35 / 0 / 0 ) »
sorry, hatte vergessen das CALL METHOD mitzugeben ;)

mit

Code: Alles auswählen.

CALL METHOD screen->free. 
clear screen.
kannst du den tree "zerstören" und hast die Variable wieder initial.

Anschließend kannst du mit CREATE OBJECT screen ...
wieder nen neuen ALV erzeugen.

Ob es aber sinvoll ist musst du selbst wissen :)

Beitrag von joergjoerg (ForumUser / 17 / 0 / 0 ) »
just hat geschrieben:sorry, hatte vergessen das CALL METHOD mitzugeben ;)

mit

Code: Alles auswählen.

CALL METHOD screen->free. 
clear screen.
kannst du den tree "zerstören" und hast die Variable wieder initial.

Anschließend kannst du mit CREATE OBJECT screen ...
wieder nen neuen ALV erzeugen.

Ob es aber sinvoll ist musst du selbst wissen :)
Hm, sinnvoll ist es mE schon. Ich habe einen Simple Tree, dessen Nodes durch das Programm beeinflusst werden. Zb Kunden und Ansprechpartner dazu. Innerhalb des Programmms kann ich neue Kunden (Z-Tabelle, nicht KNA1) hinzufügen und Ansprechpartner zuordnen. Dadurch ändert sich die Aufstellung des Trees, was einen Neuaufbau der Nodes zur Folge haben muss.

Beitrag von joergjoerg (ForumUser / 17 / 0 / 0 ) »
So... das mit dem Free klappt jetzt auch ohne Probleme, nachdem ich das Beipspiel von der SAP im Programm SAPSIMPLE_TREE_CONTROL_DEMO verwendet habe. Vorher habe ich das Beispiel aus dem Buch ABAP Objects verwendet, wo irgendwie ein eigenes Süppchen gekocht wurde...

Jetzt habe ich folgenden Code:

Code: Alles auswählen.

IF G_TREE IS INITIAL.
    CREATE OBJECT G_APPLICATION.
    PERFORM CREATE_AND_INIT_TREE.
  ELSE.
    call method G_TREE->free.
    FREE G_TREE.
    CLEAR G_TREE.
    CREATE OBJECT G_APPLICATION.
    PERFORM CREATE_AND_INIT_TREE.
  ENDIF.
Der Baum wird anfangs aufgebaut. Nach einer Useraktion, also das nächste Mal, wenn der PBO-Block durchlaufen wird, wird der Baum dann folglicherweise auch abgebaut. Leider baut er sich dann nicht mehr auf. Was mache ich falsch?

Beitrag von joergjoerg (ForumUser / 17 / 0 / 0 ) »
habe die lösung... trotzdem danke!

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo Jörg,

und wir lautet sie?
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von joergjoerg (ForumUser / 17 / 0 / 0 ) »
Das mit dem zerstören und aufbauen hat nicht geklappt. Also benutze ich nun Fubas namens delete_nodes und add_nodes um den Baum zu aktualisieren.

Beitrag von joergjoerg (ForumUser / 17 / 0 / 0 ) »
joergjoerg hat geschrieben:Das mit dem zerstören und aufbauen hat nicht geklappt. Also benutze ich nun die Methoden namens delete_nodes und add_nodes um den Baum zu aktualisieren.

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1997
Views
Interaktion zwischen mehreren Dynpros
von alac » 02.03.2011 10:59 • Verfasst in Dialogprogrammierung
1
Antw.
1134
Views
das gleiche Table Control auf mehreren Dynpros einsetzen
von pohlmann-schwarza » 09.06.2008 08:59 • Verfasst in ABAP® für Anfänger
0
Antw.
1574
Views
simple transformation
von akgermain » 13.12.2012 14:19 • Verfasst in ABAP® für Anfänger
1
Antw.
1011
Views
Simple Transformations
von ABAP_User » 23.09.2011 21:42 • Verfasst in ABAP® für Anfänger
4
Antw.
2822
Views
Simple Transformation
von generic_user » 15.06.2016 12:40 • Verfasst in ABAP® Core

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 11 Stunden von DeathAndPain gelöst 22 / 3046
Daten an Tabelle binden
vor 16 Stunden von Lukas Sanders 2 / 998
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 570

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 11 Stunden von DeathAndPain gelöst 22 / 3046
Daten an Tabelle binden
vor 16 Stunden von Lukas Sanders 2 / 998
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 570

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2579
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9161