CLASS lcl_events DEFINITION.
PUBLIC SECTION.
CLASS-METHODS:
on_close FOR EVENT close OF cl_gui_dialogbox_container
IMPORTING sender.
ENDCLASS.
CLASS lcl_events IMPLEMENTATION.
METHOD on_close.
IF sender IS NOT INITIAL.
sender->free( ).
ENDIF.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
DATA: it_sflight TYPE STANDARD TABLE OF sflight WITH DEFAULT KEY.
SELECT * INTO TABLE it_sflight FROM sflight WHERE carrid = 'LH'.
DATA(o_cnt) = NEW cl_gui_dialogbox_container( no_autodef_progid_dynnr = abap_true
caption = 'Flüge'
top = 1
left = 1
width = 640
height = 480 ).
* Dialogbox-Container fullscreen (maximized) setzen
o_cnt->set_alignment( cl_gui_control=>align_at_left + cl_gui_control=>align_at_right + cl_gui_control=>align_at_top + cl_gui_control=>align_at_bottom ).
* OnClose-Handler setzen
SET HANDLER lcl_events=>on_close FOR o_cnt.
DATA: o_salv TYPE REF TO cl_salv_table.
* SALV-Grid erzeugen
cl_salv_table=>factory( EXPORTING
r_container = o_cnt
IMPORTING
r_salv_table = o_salv
CHANGING
t_table = it_sflight ).
o_salv->display( ).
* cl_gui_container=>screen0 erzwingen
WRITE: / space.