Вы находитесь на странице: 1из 3

*&---------------------------------------------------------------------*

*& Report  ZMR_OOALV_SPLITTER_CONTAINER
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZMR_OOALV_SPLITTER_CONTAINER.

DATA : LR_CUST TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
       LR_SPLIT TYPE REF TO CL_GUI_SPLITTER_CONTAINER,
       LR_CON1 TYPE REF TO CL_GUI_CONTAINER,
       LR_CON2 TYPE REF TO CL_GUI_CONTAINER.
DATA : LR_ALV1 TYPE REF TO CL_GUI_ALV_GRID,
       LR_ALV2 TYPE REF TO CL_GUI_ALV_GRID.

DATA : lt_mara type STANDARD TABLE OF mara,
       lt_makt type STANDARD TABLE OF makt.

START-OF-SELECTION.

SELECT * from mara into table lt_mara up to 10 rows.

select * from makt into table lt_makt up to 10 rows where spras = sy-langu.

call screen 9000.
*&---------------------------------------------------------------------*
*&      Module  STATUS_9000  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE STATUS_9000 OUTPUT.
*  SET PF-STATUS 'xxxxxxxx'.
*  SET TITLEBAR 'xxx'.
IF LR_CUST IS INITIAL.
* Create custom container object
  CREATE OBJECT LR_CUST
    EXPORTING
      CONTAINER_NAME              = 'CONT'
    EXCEPTIONS
      CNTL_ERROR                  = 1
      CNTL_SYSTEM_ERROR           = 2
      CREATE_ERROR                = 3
      LIFETIME_ERROR              = 4
      LIFETIME_DYNPRO_DYNPRO_LINK = 5
      others                      = 6.
  IF LR_CUST IS NOT INITIAL.
*Create object for SPLITTER CONTAINER CLASS
CREATE OBJECT LR_SPLIT
  EXPORTING
    PARENT            = LR_CUST
    ROWS              = 2
    COLUMNS           = 1
  EXCEPTIONS
    CNTL_ERROR        = 1
    CNTL_SYSTEM_ERROR = 2
    others            = 3.
* call GET_CONTAINER method to place first alv.
CALL METHOD LR_SPLIT->GET_CONTAINER
  EXPORTING
    ROW       = 1
    COLUMN    = 1
  RECEIVING
    CONTAINER = lr_con1.

* call GET_CONTAINER method to place second alv..
CALL METHOD LR_SPLIT->GET_CONTAINER
  EXPORTING
    ROW       = 2
    COLUMN    = 1
  RECEIVING
    CONTAINER = lr_con2.
*Create  object for CL_GUI_ALV_GRID Class by passing parent as CONTAINER ONE 
(lr_con1).
CREATE OBJECT LR_ALV1
  EXPORTING
    I_PARENT          = lr_con1
  EXCEPTIONS
    ERROR_CNTL_CREATE = 1
    ERROR_CNTL_INIT   = 2
    ERROR_CNTL_LINK   = 3
    ERROR_DP_CREATE   = 4
    others            = 5.
*Create  object for CL_GUI_ALV_GRID Class by passing parent as CONTAINER two 
(lr_con2).
CREATE OBJECT LR_ALV2
  EXPORTING
    I_PARENT          = lr_con2
  EXCEPTIONS
    ERROR_CNTL_CREATE = 1
    ERROR_CNTL_INIT   = 2
    ERROR_CNTL_LINK   = 3
    ERROR_DP_CREATE   = 4
    others            = 5.
CALL METHOD LR_ALV1->SET_TABLE_FOR_FIRST_DISPLAY
  EXPORTING
    I_STRUCTURE_NAME              = 'MARA'
  CHANGING
    IT_OUTTAB                     = LT_MARA
  EXCEPTIONS
    INVALID_PARAMETER_COMBINATION = 1
    PROGRAM_ERROR                 = 2
    TOO_MANY_LINES                = 3
    others                        = 4.
CALL METHOD LR_ALV2->SET_TABLE_FOR_FIRST_DISPLAY
  EXPORTING
    I_STRUCTURE_NAME              = 'MAKT'
  CHANGING
    IT_OUTTAB                     = LT_MAKT
  EXCEPTIONS
    INVALID_PARAMETER_COMBINATION = 1
    PROGRAM_ERROR                 = 2
    TOO_MANY_LINES                = 3
    others                        = 4.
    ENDIF.
ENDIF.

ENDMODULE.                 " STATUS_9000  OUTPUT

Вам также может понравиться