SAP Program/ALV

ALV Grid Row별 색깔 지정하기 - zebra 기능 색깔 지정하기

유부사모 2017. 3. 16. 11:24

alv grid의 layout에서 info_name이라는 속성을 이용하면 alv grid의 row별 색깔을 원하는대로 zebra 같이 표현이 가능하다.


DATA BEGIN OF gt_list1 OCCURS 0.
DATA chk(1).                             "체크박스
INCLUDE STRUCTURE gt_temp_list1.
DATA zstat(5TYPE c,
       mblnr    TYPE matdoc-mblnr,
       mjahr    TYPE matdoc-mjahr,
       info(4)  TYPE c,            "ALV ROW COLOR
       colinfo  TYPE lvc_t_scol,   "ALV COLUMN COLOR
       style    TYPE lvc_t_styl.   "ALV CONTROL
DATA END OF gt_list1.


FORM alv_column_row_color .
  DATA l_mod TYPE i.

*--// ALV Row color
  l_mod sy-tabix MOD 2.
  IF l_mod 1.
    g_char cl_gui_resources=>list_col_key.                "color 4
  ELSE.
    g_char cl_gui_resources=>list_col_normal.             "color 2
  ENDIF.

  CONCATENATE g_constant         "constant
              g_char             "color
              g_off              "intensified 0=off 1=on
              g_off              "inverse     0=off 1=on
  INTO  gt_list1-info.             "see ABAP-Help for COLOR

  modify gt_list1.
ENDFORM.                    " ALV_COLUMN_ROW_COLOR


FORM alv_layout .
  CLEAR gs_layout.
  gs_layout-zebra      c_x.          " LINE COLOR
  gs_layout-cwidth_opt c_x.          " ALV 제어: 열너비최적화
  gs_layout-info_fname = 'INFO'.       " ROW COLOR.

ENDFORM.                    " ALV_LAYOUT