SAPMZ5A1490
gs_layo TYPE lvc_s_layo.
IF gs_layo IS INITIAL.
gs_layo-zebra = 'X'. " 행을 얼룩덜룩
gs_layo-cwidth_opt = 'X'. " 열의 내용물 크기에 따라 열 사이즈를 자동 조절해준다.
* gs_layo-no_toolbar = 'X'. "상단 툴바를 숨김.
gs_layo-excp_fname = 'LIGHT'. " Light 필드를 신호등처럼 보이게 한다.
ENDIF.
CALL METHOD go_alv->set_table_for_first_display
EXPORTING
i_structure_name = 'ZS5A14902'
is_layout = gs_layo " type이 일치되어야함
CHANGING
it_outtab = gt_list " alv가 바뀌면 그것이 gt_list에 적용된다.
it_sort = gt_sort
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
IF sy-subrc <> 0.
"Error: Display ALV
MESSAGE a012(zmc5a00).
ENDIF.
빨1 노2 초3 회색0
gs_layo-excp_fname = 'LIGHT'.
gs_layo-excp_led = 'X'.

gs_layo-excp_fname = 'LIGHT'. 이것만 쓰면 신호등
gs_layo-excp_led = 'X'. 이거까지하면 저렇게 사진처럼 나옴.
SAPMZ5A1492

gt_list의 스트럭쳐에 color char4 추가.

gs_layo-info_fname = 'COLOR'.
한 줄 추가.
칼라 지정도 해준다.

C310할경우 노란색

색상표 참고. (nse38->showcolo)

그러면 이렇게 된다.
빨간색으로 특별히 표시하는건 특별히 두각되는 애들만 표시해주는거라 실제로 잘 색칠하진 않는다.
라인 전체가 아니라 특정행의 특정열만 색칠하고 싶다면

스트럭처에 it_col을 추가한다.
it_col은 테이블 타입이다.

열어보면 struct 타입의 color가 nested 되어있다.

color도 열어보면 이렇게 생겼다.
FORM display_alv_0100 .
IF gs_layo IS INITIAL.
gs_layo-zebra = 'X'.
gs_layo-cwidth_opt = 'X'.
* gs_layo-no_toolbar = 'X'.
gs_layo-excp_fname = 'LIGHT'.
gs_layo-info_fname = 'COLOR'.
gs_layo-ctab_fname = 'IT_COL'. "color과 it_col은 같이 안쓴다.
ENDIF.
display에서
gs_layo-ctab_fname = 'IT_COL'.
추가한다.

아 두번째 ls_cololor-inv 임 오타!! (-int xx)
set_Booking에 색깔을 입혀준다.

첫번째 index의 custom_id만 색칠된 것을 볼 수 있다.
여러개 셀을 칠하고 싶으면

두 번 반복해서 append하면 된다.
서브루틴처리하는게 좋겠지

결과는 이렇게 나온다
DATA: gt_sort TYPE lvc_t_sort,
gs_sort LIKE LINE OF gt_sort.
CALL METHOD go_alv->set_table_for_first_display
EXPORTING
i_structure_name = 'ZS5A14902'
is_layout = gs_layo " type이 일치되어야함
CHANGING
it_outtab = gt_list " alv가 바뀌면 그것이 gt_list에 적용된다.
it_sort = gt_sort
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
IF sy-subrc <> 0.
"Error: Display ALV
MESSAGE a012(zmc5a00).
ENDIF.
FORM sort_alv USING pv_becla TYPE zs5a14405-becla.
CLEAR: gt_sort, gs_sort.
IF pv_becla = 'C001'.
gs_sort-spos = 1. " 1번 정렬조건
gs_sort-fieldname = 'PRICE'.
gs_sort-down = 'X'.
APPEND gs_sort TO gt_sort.
ELSE.
CLEAR: gs_sort.
gs_sort-spos = 1.
gs_sort-fieldname = 'GENDER'.
gs_sort-down = 'X'.
APPEND gs_sort TO gt_sort.
ENDIF.
ENDFORM.