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

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 행을 선택하게 해주고 싶은데, 잘 안됨. ㅠㅠ 뭐가 틀린거지. 

[#M_소스코드|접기|

  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( ).

_M#]

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments