ALV 특정 데이터 행/열 에 Hightlight 설정 방법

ALV 특정 데이터 행/열 에 Hightlight 설정 방법

Published
2014년 08월 19일
생성자
카테고리
SAP
태그
abap
SAP
alv
Layout
Color
ctab_fname
highlight
info_fname
하위 카테고리
ABAP

0. 요구사항

– ALV 데이터중 중복 데이터만 Highlight 넣어주세요.
※ 행에 적용하기

1. Output Internal Table에 Field 추가

– lcolor(4)

2. ALV Layout에 Field 추가

– gs_layout-info_fname = ‘LCOLOR’.

3. 대상 데이터에 lcolor필드값 추가

– gs_display-lcolor = ‘C310’.

4. Grid Refresh

CALL METHOD GO_GRID1->REFRESH_TABLE_DISPLAY
EXCEPTIONS
FINISHED = 1
OTHERS = 2.

5. Color code 표

 

※ 열에 적용하기

1. Output Internal Table에 Field 추가

– TCOLOR TYPE LVC_T_SCOL, ” Tab Color.

2. ALV Layout에 Field 추가

– GS_LAYOUT-CTAB_FNAME = ‘TCOLOR’.

3. 대상 데이터에 tcolor필드값 추가

– color 테이블 채움 (색상표는 위를 참고)
* 거래처 컬럼의 색을 강조.
CLEAR: GT_COLOR. GS_COLOR-COLOR-COL = 3. GS_COLOR-COLOR-INT = 1. GS_COLOR-COLOR-INV = 0. GS_COLOR-FNAME = ‘ZKUNNR’. APPEND GS_COLOR TO GT_COLOR. – Output Internal Table에 추가 APPEND LINES OF GT_COLOR TO GS_DISPLAY2-TCOLOR. 4. Grid Refresh CALL METHOD GO_GRID1->REFRESH_TABLE_DISPLAY EXCEPTIONS FINISHED = 1 OTHERS = 2.
※ 참고 프로그램 : ITSQ_ALV_COLOR
– ALV 행을 선택하게 해주고 싶은데, 잘 안됨. ㅠㅠ 뭐가 틀린거지.
LOOP AT LT_DISPLAY INTO LS_DISPLAY. READ TABLE PT_DISPLAY WITH KEY ZGUBN = LS_DISPLAY-ZGUBN MATNR = LS_DISPLAY-MATNR KVGR4 = LS_DISPLAY-KVGR4 TRANSPORTING NO FIELDS BINARY SEARCH. IF SY-SUBRC = 0. LOOP AT PT_DISPLAY INTO GS_DISPLAY FROM SY-TABIX. IF GS_DISPLAY-ZGUBN NE LS_DISPLAY-ZGUBN OR GS_DISPLAY-MATNR NE LS_DISPLAY-MATNR OR GS_DISPLAY-KVGR4 NE LS_DISPLAY-KVGR4. EXIT. ENDIF. LV_TABIX = SY-TABIX. GS_ROW_NO-ROW_ID = LV_TABIX. APPEND GS_ROW_NO TO GT_ROW_NO. * GS_DISPLAY-CHK = ‘X’. GS_DISPLAY-LCOLOR = ‘C310’. MODIFY PT_DISPLAY FROM GS_DISPLAY INDEX LV_TABIX TRANSPORTING LCOLOR. ENDLOOP. ENDIF. ” IF SY-SUBRC = 0. ENDLOOP. ” LOOP AT LT_DISPLAY INTO LS_DISPLAY. CL_GUI_CFW=>FLUSH( ). CALL METHOD GO_GRID->SET_SELECTED_ROWS EXPORTING * IT_INDEX_ROWS = IT_ROW_NO = GT_ROW_NO IS_KEEP_OTHER_SELECTIONS = ‘ ‘. CL_GUI_CFW=>FLUSH( ).

댓글

guest