먼저... 안되는 코딩을 소개한다.
분명히 말하지만 "안되는 코딩이다".
따라하지마라...
이유는 간단하다 LVC_T_SCAL 은 참조할 테이블이 아니다. 테이블타입이지 ..그래서 안된다.
Do not work THIS code!!=>>
wa_fieldcatalog-fieldname = 'COLOR'.
wa_fieldcatalog-ref_table = 'LVC_T_SCOL'.
APPEND wa_fieldcat TO gt_fieldcat.
CLEAR wa_fieldcat.
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = gt_fieldcat
IMPORTING
ep_table = t_output.
ASSIGN t_output->* TO <gt_output>.
==========
다른방식으로 이분꺼는 될것이라 생각한다.
동적으로 다시 comp를 불러서 거기 ITAB으로 선언한
Lvc_T_scal 타입을 던져서 COMP에 추가하는 로직이다.
https://friendjinho.tistory.com/entry/ABAP-Dynamic-table-cell-color
그러나 코딩이 길어지는 단점이 있다.
그래서 내가 선택한 로직은 무엇이냐면.......
맨 위 안되는 코딩의 응용
1. 스트럭쳐를 SE11에 만든다.
2. 거기 필드를 만들고( CELLCOL 라 필드명을 만들었다) TYPE에 LVC_T_Scal을 만든다.
3. 그걸 맨 위 안되는 코딩처럼 갖다 쓴다.....
즉,
wa_fieldcatalog-fieldname = 'COLOR'. 내Itab 내부에 선언할 필드명
wa_fieldcatalog-ref_table = 'ZSCONCELLC'.
wa_fielscatalog-ref_field = "CELLCOL".
APPEND wa_fieldcat TO gt_fieldcat.
이렇게 필드카탈로그를 생성하고
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = gt_fieldcat
IMPORTING
ep_table = t_output.
ASSIGN t_output->* TO <gt_output>.
하면 필드에 들아가서 동적 ITAB이 생성된다.
거기서 팁하나 추가하면..
데이터를 담는 ITAB에서는 CELLCOL을 같이 담아 그 라인에 필드컬러정보를 넣는게 컨셉인데
그 데이터를 뿌려주는 Alv display 에서 필드카탈로그는 CELLCOL이 안담긴 필드카탈로그를 던져줘야 한다....
아무생각없이 어? DYNAMIC TABLE 생성용 필드카탈로그가 있있으니 그거던져야지 하고 넣었다가 덤프...ㅋㅋ
'ERP-SAP > ABAP' 카테고리의 다른 글
<ABAP> REDUCE 소숫점 계산이 안되요. new abap reduce (0) | 2024.12.26 |
---|---|
<ABAP> 유지보수뷰에 버튼 추가하기, 추가한 버튼에 이벤트 넣기(ADD BUTTON Maintenance view) (0) | 2024.12.13 |
<NEW ABAP> LOOP AT INTO GROUP BY 사용하고 OLD ABAP 과 비교 (0) | 2024.11.28 |
<NEW ABAP> 3강 APPEND ITAB 을 쉽게 해보자. (1) | 2024.11.18 |
<NEW ABAP> 2강 READ TABLE을 NEW ABAP으로 바꿔보기 + 1강도 추가연습 (0) | 2024.11.15 |