FORM define_field_cat .
PERFORM fill_field_catalogs
TABLES gt_fieldcat
USING:
'S' 'FIELDNAME' 'BA',
' ' 'COLTEXT' '사업부',
' ' 'KEY' 'X',
' ' 'OUTPUTLEN' '20',
'E' 'EDIT' ' ',
'S' 'FIELDNAME' 'OK_FLAG',
' ' 'COLTEXT' '확인',
' ' 'KEY' '',
' ' 'OUTPUTLEN' '1',
'E' 'EDIT' ' '.
에서 key를 설정하면 실행했을때 alv에서 사업부 필드가 고정되면서 색상도 변환됩니다.
'S' 'FIELDNAME' 'OK_FLAG', ===>check box
' ' 'COLTEXT' '확인',
' ' 'KEY' '',
' ' 'OUTPUTLEN' '1',
'E' 'EDIT' 'X'.
그런데 '확인'을 'EDIT' 'X'로 설정하지 않을때는 사업부 필드 고정 및 색상변환 모두
되는데요..
'확인'을 'EDIT' 'X'로 설정하고 실행하면 사업부 필드가 고정은 되는데 색상은
변하지 않습니다.
ALV color를 사용하지 않고 키값에 대한 색상 변환을 할수 없을까요?
댓글 7
-
루자빗
2008.06.19 17:08
-
비안개
2008.06.19 18:15
후움 질문하신 것이 제가 올려놓은 것과 비슷한데 혹시 색상 관련된 질문을 찾아보신 후 올리신거지??
http://e-abap.servebbs.net/zb/bbs/zboard.php?id=ABAPQnA&no=1914 에 보면 Function으로 색상 주는 방법이 있습니다.
안에 있는 소스처럼 숫자로 색상을 주면 안됩니다.
list_col_positive는 속성값이기 때문에 작성 후 더블클릭하시면 확인 가능합니다.
LS_CELLSCOL-COLOR-COL = CL_GUI_RESOURCES=>LIST_COL_POSITIVE.
LS_CELLSCOL-COLOR-INT = CL_GUI_RESOURCES=>LIST_INTENSIFIED.
LS_CELLSCOL-COLOR-INV = 1.
LS_CELLSCOL-NOKEYCOL = ' '.
INSERT LS_CELLSCOL INTO TABLE PT_CELLSCOL. -
풍뎅이
2008.06.19 18:57
답변 감사합니다..
FIELDCAT-EMPHASIZE = '색상코드값'를 넣으면 색상 코드값은 가져오는데
파일에 올린 그림처럼 화면 COLOR상태는 FIELDCAT-EMPHASIZE = '색상코드값'을 설정하기 전과 같습니다..
-
루자빗
2008.06.19 23:32
제가 이해를 잘못했습니다. EDIT 모드로 바꾸시면 KEY 로 지정된 필드도 자동으로 색상이 풀리게 됩니다.
EDIT 모드에서도 색상이 유지되길 원하시면 비안개님이 말씀하신대로 인터널 테이블에 LVC_T_SCOR 스트럭처를 참조하는 CELLCOLOR 필드를 잡고, LAYOUT 옵션에 CTAB_FNAME = '색상필드명'. EX) 'CELLCOLOR' 를 주시고 인터널 테이블을 룹돌면서 필드 색상을 넣어주시는 방법이 있습니다.
EX) DATA ls_cellcolor TYPE lvc_s_scol .
LOOP AT itab.
ls_cellcolor-fname = 'CARRID'.
ls_cellcolor-color-col = '4' .
ls_cellcolor-color-int = '1' .
APPEND ls_cellcolor TO itab-cellcolor.
MODIFY itab.
ENDLOOP. -
풍뎅이
2008.06.24 00:31
편집모드가 있을 경우 alv화면에서 color 설정이 되지않아 다시 문의 드립니다..
지난번 올린 그림은 동일하구요.. 체크박스가 편집모드인것도 동일합니다. 제가 일부 필드내용을 색상을 주고 싶어서 아래와 같이 했는데 안되어서요..
편집모드가 활성화 되었을경우엔 alv화면에서 아래와같이 해도 color가 설정 안되나요?
1), 가), 나) 를 모두 해보았지만 실행결과는 color설정이 안됩니다.
data : begin of wa_inpt occurs 0.
include structure itab_tmp.
data : celltab type lvc_t_scol,
end of wa_inpt.
data : tmp_cell type lvc_s_scol.
data : tcol type lvc_s_colo.
form set_color .
* class cl_gui_resources definition load. <==1)
clear tmp_cell.
loop at it_list.
move-corresponding it_list to wa_inpt.
tmp_cell-fname = 'REMSEQ'.
* tcol-col = '6'. <==가)
tcol-col = cl_gui_resources=>list_col_positive. "tcol <==나)
tcol-int = '0'.
tcol-inv = '0'.
tmp_cell-color = tcol. " tcol.
append tmp_cell to wa_inpt-celltab.
append wa_inpt.
clear wa_inpt.
endloop.
endform. -
풍뎅이
2008.06.24 19:26
답변 모두 감사드립니다.
-
꽁
2008.09.04 21:32
좋은 정보 감사해요.
KEY 필드를 수정 가능하게 만드는건 좋은 생각이 아닌것 같습니다.
전체 칼럼에 색을 입히는 거라면 필드 카달로그에 옵션이 있습니다. FIELDCAT-EMPHASIZE = '색상코드값'. EX) 'C311'