ich habe einen ALV, erstellt mit CL_SALV_TABLE, den ich als Popup ausgebe. Wie das aussieht kann man sich zB im Demoprogramm SALV_DEMO_TABLE_POPUP ansehen.
Auf eigendefinierte!!! Buttons (über einen Status) in der unten angezeigten Buttonleiste reagiere ich über bestimmte Events, zB Event ADDED_FUNCTION aus der Klasse CL_SALV_EVENTS oder
LINK_CLICK aus der Klasse CL_SALV_EVENTS_TABLE. Das funktioniert alles soweit prima.
Wie kann ich aber den X-Button (den Fenster-Schließer rechts oben im Popup) "einfangen", so dass ich darauf reagieren kann, d.h. ein bestimmtes Coding ausführen kann?
Durch dieses Event wird schon Coding von mir ausgeführt.
Bei der Ausführung von Standard-Funktionen, wie Filterung oder Sortierung von Spalten, läuft das Programm durch dieses Event.
Aber nicht beim X-Button eines ALV(SALV)-Popups. Das habe ich per Debugging feststellen müssen.
hast du schon mal nach dem Aufruf der Methode ->display gestoppt und dort geschaut wie das Feld SY-UCOMM gefüllt ist wenn du entweder das X für Schliessen betätigst oder eine ALV Funktion ausführst ?
Beim Demo Programm ist der Inhalt dann z.Bsp. bei Close Screen -> &AC1 und bei z.Bsp. Okay (grünner Pfeil -> &ONT - vielleicht hilft das ja weiter
Gruss
Folgende Benutzer bedankten sich beim Autor jensschladitz für den Beitrag: einar46
Ich habe das jetzt mal im Debugger ausprobiert und das scheint tatsächlich eine Möglichkeit zu sein um Zugriff auf den "Close Screen"-Button zu bekommen.
Ich werde das mal in mein Programm einbauen und berichte dann.