[ABAP] Eigenständiges Dialogfenster (cl_gui_dialogbox_container) fullscreen (maximized) mit SALV-Table ohne zus. Dynpro anzeigen

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.