Eventauslöser

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

Eventauslöser

Beitrag von black_adept (Top Expert / 4158 / 136 / 959 ) »
Ich habe einen Screen mit mehreren (List)Bäumen und für alle Bäume den Doppelklickevent registriert. Wenn ich nun einen Doppelklick ausführe und in meinem eigenen Eventhandler gelandet bin - wie kann ich denn festtellen aus welchem der Bäume der Event ausglöst wurde, da in der Schnittstelle nur NODE (und evtl. ITEM) übergeben werden?
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

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


Beitrag von ewx (Top Expert / 4913 / 332 / 653 ) »
Moin Stefan,

wie wär's denn, wenn du für jeden Baum ein anderes erstes Zeichen als NODE_ID verwendest?

Also A000000001 für einen Knoten aus dem 1. Baum und
B000000001 für den nächsten Baum??

Gruß, Enno

Beitrag von black_adept (Top Expert / 4158 / 136 / 959 ) »
Hi Enno,

die Idee war mir auch schon gekommen -aber so richtig glücklich bin ich damit nicht. ( Mein aktuelles Problem hab ich dadurch gelöst, dass ich für einen Baum einfach keinen Doppelklick mehr zulasse :oops: - der war eh nicht so wichtig )

Inzwischen bin ich auf folgende Idee gekommen.
Wenn ich meinen lokalen Eventhandler definiere, definier ich mir auch einen Constructor dazu, dem der Baum übergeben werden muss, für den der Eventhandler zuständig ist.
Dort registriere ich dann den Event beim übergebenen Baum und setze diesen Handler für den übergebenen Baum. Außerdem erzeuge ich eine (protected) Referenz auf den Baum, so dass ich beim Feuern des Events dort dann nachschauen kann wer den Event ausgelöst hat.
Das bedeutet aber, dass ich pro Baum ein Handler-Objekt erzeuge... :?


Aber irgendwie ist das alles nicht sonderlich elegant. Gibt es denn keine Möglichkeit nur EINEN Handler zu definieren, der für ALLE Bäume zuständig ist (weil eh immer eine ähnliche Aktion ausgeführt werden soll).
Noch irgendwelche Vorschläge aus der Community?
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Beitrag von Gast ( / / 0 / 3 ) »
black_adept hat geschrieben:Inzwischen bin ich auf folgende Idee gekommen.
Wenn ich meinen lokalen Eventhandler definiere, definier ich mir auch einen Constructor dazu, dem der Baum übergeben werden muss, für den der Eventhandler zuständig ist.
Dort registriere ich dann den Event beim übergebenen Baum und setze diesen Handler für den übergebenen Baum. Außerdem erzeuge ich eine (protected) Referenz auf den Baum, so dass ich beim Feuern des Events dort dann nachschauen kann wer den Event ausgelöst hat.
Das bedeutet aber, dass ich pro Baum ein Handler-Objekt erzeuge... :?
ähhhh. ja....

Gibt's nicht irgendsowas wie CL_GUI->GET_FOCUS??

Enno

Re: Eventauslöser

Beitrag von Christian ( / / 0 / 3 ) »
black_adept hat geschrieben:Ich habe einen Screen mit mehreren (List)Bäumen und für alle Bäume den Doppelklickevent registriert. Wenn ich nun einen Doppelklick ausführe und in meinem eigenen Eventhandler gelandet bin - wie kann ich denn festtellen aus welchem der Bäume der Event ausglöst wurde, da in der Schnittstelle nur NODE (und evtl. ITEM) übergeben werden?
Bei Events wird der Parameter SENDER implizit mitgegeben. Es kann aber sein, dass er in der Defintion der Methode angegeben werden muss, damit er verwendet werden kann.

Code: Alles auswählen.

 method on_double_click for <event> of <class> importing sender
              node....
Dann hast Du zumindest die Referenzdes Aufrufers.
Christian

Beitrag von black_adept (Top Expert / 4158 / 136 / 959 ) »
Danke Christian,

das war genau das was ich gesucht hatte.

Trotzdem noch ein Nachfrage. Wo zum Geier steht denn das in welcher Doku?
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »
black_adept hat geschrieben:Trotzdem noch ein Nachfrage. Wo zum Geier steht denn das in welcher Doku?
Ich kenne das aus dem Buch ABAP Objects.
Außerdem ist es in der F1-Hilfe zu RAISE EVENT und EVENTS erwähnt.

Seite 1 von 1

Aktuelle Forenbeiträge

LSMW-Problem
vor 23 Stunden von mazu gelöst 5 / 837
ATC Finding in Smartforms
vor 4 Tagen von sap_enthusiast 2 / 828

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

LSMW-Problem
vor 23 Stunden von mazu gelöst 5 / 837
ATC Finding in Smartforms
vor 4 Tagen von sap_enthusiast 2 / 828

Unbeantwortete Forenbeiträge

SFP/SEGW - Fehler beim Rendering
letzen Monat von Manfred K. 1 / 79912
Benutzerdefinierte Felder PSP
January 2026 von Rabea1103 1 / 133023