DATA : BEGIN OF GS_DATA,
VKGRP LIKE TVBVK-VKGRP,
VKBUR LIKE TVBVK-VKBUR,
END OF GS_DATA.
DATA : GT_HEAD LIKE TABLE OF GS_DATA,
GT_ITEM1 LIKE TABLE OF GS_DATA,
GT_ITEM2 LIKE TABLE OF GS_DATA.
DATA : GI_DOCKING TYPE REF TO CL_GUI_DOCKING_CONTAINER,
GI_SPLT_TB TYPE REF TO CL_GUI_SPLITTER_CONTAINER,
GI_SPLT_LR TYPE REF TO CL_GUI_SPLITTER_CONTAINER,
GI_TOP TYPE REF TO CL_GUI_CONTAINER,
GI_BOT TYPE REF TO CL_GUI_CONTAINER,
GI_BOT_L TYPE REF TO CL_GUI_CONTAINER,
GI_BOT_R TYPE REF TO CL_GUI_CONTAINER.
DATA : GI_NORM TYPE REF TO CL_GUI_ALV_GRID,
GI_GRID1 TYPE REF TO CL_GUI_ALV_GRID,
GI_GRID2 TYPE REF TO CL_GUI_ALV_GRID.
GI_DOCKING = NEW #( EXTENSION = CL_GUI_DOCKING_CONTAINER=>WS_MAXIMIZEBOX ).
GI_SPLT_TB = NEW #( PARENT = GI_DOCKING
ROWS = 2
COLUMNS = 1 ).
GI_SPLT_TB->SET_ROW_HEIGHT( EXPORTING ID = 1
HEIGHT = 30 ).
GI_TOP = GI_SPLT_TB->GET_CONTAINER( EXPORTING ROW = 1
COLUMN = 1 ).
GI_BOT = GI_SPLT_TB->GET_CONTAINER( EXPORTING ROW = 2
COLUMN = 1 ).
GI_SPLT_LR = NEW #( PARENT = GI_BOT
ROWS = 1
COLUMNS = 2 ).
GI_BOT_L = GI_SPLT_LR->GET_CONTAINER( EXPORTING ROW = 1
COLUMN = 1 ).
GI_BOT_R = GI_SPLT_LR->GET_CONTAINER( EXPORTING ROW = 1
COLUMN = 2 ).
GI_NORM = NEW #( I_PARENT = GI_TOP ).
GI_GRID1 = NEW #( I_PARENT = GI_BOT_L ).
GI_GRID2 = NEW #( I_PARENT = GI_BOT_R ).
DATA(LS_LAYO) = VALUE LVC_S_LAYO( ZEBRA = ABAP_ON
CWIDTH_OPT = ABAP_ON ).
DATA(LO_STR) = CAST CL_ABAP_STRUCTDESCR( CL_ABAP_TYPEDESCR->DESCRIBE_BY_NAME( 'TVBVK' ) ).
DATA(LT_DDIC) = LO_STR->GET_DDIC_FIELD_LIST( ).
DATA(LT_FCAT) = CORRESPONDING LVC_T_FCAT( LT_DDIC ).
LOOP AT LT_FCAT ASSIGNING FIELD-SYMBOL(<LS_FCAT>).
CASE <LS_FCAT>-FIELDNAME.
WHEN 'VKGRP'.
<LS_FCAT>-COL_POS = 1.
<LS_FCAT>-OUTPUTLEN = 8.
WHEN 'VKBUR'.
<LS_FCAT>-COL_POS = 2.
<LS_FCAT>-OUTPUTLEN = 8.
WHEN OTHERS.
DELETE LT_FCAT INDEX SY-TABIX.
ENDCASE.
ENDLOOP.
GI_NORM->SET_TABLE_FOR_FIRST_DISPLAY(
EXPORTING
IS_LAYOUT = LS_LAYO
CHANGING
IT_OUTTAB = GT_HEAD
IT_FIELDCATALOG = LT_FCAT ).
GI_GRID1->SET_TABLE_FOR_FIRST_DISPLAY(
EXPORTING
IS_LAYOUT = LS_LAYO
CHANGING
IT_OUTTAB = GT_ITEM1
IT_FIELDCATALOG = LT_FCAT ).
GI_GRID2->SET_TABLE_FOR_FIRST_DISPLAY(
EXPORTING
IS_LAYOUT = LS_LAYO
CHANGING
IT_OUTTAB = GT_ITEM2
IT_FIELDCATALOG = LT_FCAT ).
반응형
'ABAP' 카테고리의 다른 글
[ABAP] Field-Symbol을 사용해 동적으로 구성하기 (0) | 2023.04.06 |
---|---|
[ABAP] GET TIME STAMP (0) | 2023.03.30 |
[ABAP] 클래스로 간단하게 ALV 생성하기 (0) | 2023.03.29 |
[ABAP] Excel Download 예제 (0) | 2023.03.27 |
[ABAP] Top-of-Page 예제 (0) | 2023.03.24 |