Schließen eines Dialogbox-Containers nach Benutzerinteraktio

Benutzeroberflächen in SAP Systemen.

Schließen eines Dialogbox-Containers nach Benutzerinteraktio

Postby Ramon2764 » Tue Jan 12, 2010 3:34 pm

Hallo,
auf einem Grid erzeuge ich per Funktion eine Dialogbox gem. Keller/Krüger ABAP Objects S. 665 Listing 9.33 über eine Referenz auf die Klasse cl_gui_dialogbox_container. Diese läßt sich sich über den Handler close_box wie gewünscht über das Ereignis CLOSE dieser Klasse schließen, wenn der Benutzer das Ereignis auf der Box auslöst. Soweit so gut. Ist es aber möglich, das Ereignis CLOSE auch interaktiv auszulösen ? In meinem Fall stellt das Grid in der Dialogbox einige Zeilen zur Auswahl bereit. Eine Spalte ist hotspotfähig. Durch Einfachklick auf diese Zelle werden Inhalte dieser Zeile weiterverarbeitet. Gibt es einen Weg, danach automatisch die Box zu schließen ? Ist mir bisher nicht gelungen. Mit 'raise event' kann ich ja nur Events meiner eigenen Z-Klasse auslösen, nicht aber das Ereignis CLOSE von cl_gui_dialogbox_container. Explizites Ausprogrammieren des
Event-Handlers close_box:

alv->close_screen
container_box->free( )
clear: alv, container_box

am Ende der Verarbeitungsroutine des Hotspot-Klicks führt zum Programmabbruch.

Im Voraus vielen Dank,
Ramon2764
..
..
 
Posts: 28
Joined: Mon Aug 31, 2009 4:56 pm

Postby Ines3642 » Tue Jan 12, 2010 6:38 pm

Hallo lucolan,

ich stand vor dem gleichen Problem. Beim Schließen der Dialogbox setze ich sie einfach auf unsichtbar anstatt sie zu "zerstören":

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1.   CALL METHOD sender->set_visible
  2.     EXPORTING
  3.       visible = cl_gui_control=>visible_false.
  4.  
GeSHi ©


Das FREE() kannst Du immernoch beim Beenden des Programms aufrufen.
Ines3642
...
...
 
Posts: 268
Joined: Tue Jan 27, 2009 5:49 pm

Postby Ramon2764 » Wed Jan 13, 2010 2:10 pm

Hallo Panthor,

Super, besten Dank. Klappt prima, wenn ich zusätzlich vor nachfolgenden Aufrufen der Dialogbox die Box wieder mit derselben Methode auf "visible_true" setze !

Mit besten Grüßen,
Ramon2764
..
..
 
Posts: 28
Joined: Mon Aug 31, 2009 4:56 pm


Return to Dialogprogrammierung

Who is online

Users browsing this forum: No registered users and 6 guests