15 апреля 2019

Пример экрана с разделителем (класс CL_GUI_SPLITTER_CONTAINER)

Выводим на экран два ALV Grid, разделённых "сплиттером".




Экран 9001 содержит Custom Container с именем CONTAINER_9001.

DATA:
  go_container TYPE REF TO cl_gui_custom_container,
  go_splitter TYPE REF TO cl_gui_splitter_container,
  go_container_1 TYPE REF TO cl_gui_container,
  go_container_2 TYPE REF TO cl_gui_container,
  go_alv_1 TYPE REF TO cl_gui_alv_grid,
  go_alv_2 TYPE REF TO cl_gui_alv_grid,
  gt_scarr TYPE TABLE OF scarr,
  gt_spfli TYPE TABLE OF spfli.

CALL SCREEN 9001.

*&---------------------------------------------------------------------*
*&      Module  STATUS_9001  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_9001 OUTPUT.

  SET PF-STATUS 'STAT_9001'.
  SET TITLEBAR 'TITLE_9001'.

  CHECK go_container IS NOT BOUND.

  CREATE OBJECT go_container
    EXPORTING
      container_name = 'CONTAINER_9001'
    EXCEPTIONS
      others         = 1.

  CHECK sy-subrc EQ 0.

  CREATE OBJECT go_splitter
    EXPORTING
      parent  = go_container
      rows    = 2
      columns = 1
    EXCEPTIONS
      others  = 1.

  CHECK sy-subrc EQ 0.

  CALL METHOD go_splitter->get_container
    EXPORTING
      row       = 1
      column    = 1
    RECEIVING
      container = go_container_1.

  CREATE OBJECT go_alv_1
    EXPORTING
      i_parent = go_container_1
    EXCEPTIONS
      others   = 1.

  CHECK sy-subrc EQ 0.

  CALL METHOD go_alv_1->set_table_for_first_display
    EXPORTING
      i_structure_name     = 'SCARR'
    CHANGING
      it_outtab            = gt_scarr
    EXCEPTIONS
      OTHERS               = 1.

  CHECK sy-subrc EQ 0.

  CALL METHOD go_splitter->get_container
    EXPORTING
      row       = 2
      column    = 1
    RECEIVING
      container = go_container_2.

  CREATE OBJECT go_alv_2
    EXPORTING
      i_parent = go_container_2
    EXCEPTIONS
      others   = 1.

  CHECK sy-subrc EQ 0.

  CALL METHOD go_alv_2->set_table_for_first_display
    EXPORTING
      i_structure_name     = 'SPFLI'
    CHANGING
      it_outtab            = gt_spfli
    EXCEPTIONS
      OTHERS               = 1.

  CHECK sy-subrc EQ 0.
  
ENDMODULE.                 " STATUS_9001  OUTPUT


Комментариев нет:

Отправить комментарий