본문 바로가기
SAP/ABAP

ABAP ALV GRID SPLIT 화면분할

by 꿈청(꿈꾸는청년) 2021. 4. 8.
반응형

ABAP ALV GRID SPLIT 화면분할

 

 

ABAP 프로그램 화면에서 여러 개의 ALV GRID를 생성해줄 때, 여러 개의 ALV GRID를 각각 생성해주는 방법과 하나의 컨테이너를 기준으로 GRID를 SPLLITER(화면분할) 해주는 방법이 있습니다. 전자의 방법은 잘못된 것은 아니나 하나의 컨테이너에서 여러 개의 GRID로 나눌 수 있다면 조금 깔끔(?)해지는 느낌은 있는 듯 합니다.

 

 

 

 

1. 메인 컨테이너 선언 CUSTOM CONTAINER

 

2. 화면분할 컨테이너 선언 SPLITTER

 

3. 각각 분할된 컨테이너 TOP , BOTTOM

 

4. TOP,BOTTOM에 각각 GRID1, GRID2 매핑

 

 


 

 

INCLUDE TOP

DATA : G_GRID1             TYPE REF TO CL_GUI_ALV_GRID,
       G_GRID2             TYPE REF TO CL_GUI_ALV_GRID,
       G_SPLITTER1         TYPE REF TO CL_GUI_SPLITTER_CONTAINER,
       G_CUSTOM_CONTAINER1 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
       G_CONTAINER_TOP     TYPE REF TO CL_GUI_CONTAINER,
       G_CONTAINER_BOTTOM  TYPE REF TO CL_GUI_CONTAINER.

 

 

SCREEN 

 

*  1.Custom Container와 Screen 맵핑

  CREATE OBJECT g_custom_container1
    EXPORTING
      container_name = 'CTRL1'.

  IF sy-subrc <> 0.
    MESSAGE a000(tree_control_msg).
  ENDIF.

*  2.화면분할

  CREATE OBJECT g_splitter1
    EXPORTING
      parent  = g_custom_container1
      rows    = 2
      columns = 1.

*  TOP 매핑

  CALL METHOD g_splitter1->get_container
    EXPORTING
      row       = 1
      column    = 1
    RECEIVING
      container = g_container_top.

*  BOTTOM 매핑

  CALL METHOD g_splitter1->get_container
    EXPORTING
      row       = 2
      column    = 1
    RECEIVING
      container =  g_container_bottom.

*  TOP,BOTTOM 매핑 같은표현
*  g_container_top    = g_splitter1->get_container( ROW = 1 COLUMN = 1 ).
*  g_container_bottom = g_splitter1->get_container( ROW = 2 COLUMN = 1 ).


* 3.GRID와 Container 매핑

  CREATE OBJECT g_grid1
    EXPORTING
      i_parent = g_container_top.

  CREATE OBJECT g_grid2
    EXPORTING
      i_parent = g_container_bottom.
반응형

댓글