Академический Документы
Профессиональный Документы
Культура Документы
*& 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