쌓고 쌓다
CREATE_DYNAMIC_TABLE과 LVC_T_SCOL 본문
CREATE_DYNAMIC_TABLE 펑션을 사용하면
필드 카탈로그를 넘겨주어 그에 맞는 Internal Table을 뽑아낼 수 있다.
이것으로 동적 ALV를 만들었다.
(참고로 필드 카탈로그 타입 안지정해서 넣으면 기본값은 C(11)로 컬럼이 만들어짐)
그런데 셀 색깔을 위해서 Internal Table에 LVC_T_SCOL 타입의 필드가 필요하다.
어떻게 Internal Table에 LVC_T_SCOL 필드를 넣을 수 있을까?

필드 카탈로그로 <GT_BOOK> 테이블을 만드는 과정은 그대로이다.
다음 과정을 거쳐서 필드 카탈로그를 추가해주면 된다.

DDIC에 LVC_T_SCOL 타입의 필드를 갖는 구조체를 만든다.

필드 카탈로그는 위와 같이 구성한다.
TECH 값을 꼭 주도록하자.
기술적 필드로 사용하겠다는 표시이다.
REF_TABLE : 구조체 만들었을때 그 이름
REF_FIELD : 구조체에 추가한 LVC_T_SCOL 타입의 필드명

그러면 <GT_BOOK>에 Internal Table 필드가 하나 추가된것을 확인할 수 있다.

CTAB은 Structure: deep 타입이다.

구성을 보면 셀 타입을 넣기위해 필요한 LVC_T_SCOL 타입인것을 확인할 수 있다.
그러면 필드 심볼 테이블인 <GT_BOOK>에
LVC_T_SCOL 필드에는 어떻게 접근하고 값을 넣어줄까?
일반 필드들은 다음과 같이 동적으로 생성된 테이블 구조에 맞는 WorkArea를 만들어서 넣었다.

LVC_T_SCOL 필드에는?
다양한 방법이 있지만
다음 방법이 간단하다..

LVC_T_SCOL의 라인 타입인 LVC_S_SCOL을 선언

필드심볼로 인터널 테이블인 <GT_BOOK>에 대한 WorkArea(<FS_WA>)를 가져오고
이 WorkArea가 갖는 셀 색깔을 위한 LVC_T_SCOL 타입의 필드를 <FS_CTAB_ITAB>에 할당할 계획이다.

위 사진처럼 LVC_S_SCOL 타입의 필드 값을 가져오고
값을 할당하고 <FS_CTAB_ITAB>에 APPEND 해주자.
'SAP > ABAP' 카테고리의 다른 글
| [ABAP] RTTS (RunTime Type Service) (0) | 2026.03.15 |
|---|---|
| [ABAP] HTML로 누적 막대 그래프 그려 넣기 (0) | 2026.02.27 |
| [ABAP] CREATE DATA, 동적 Internal Table에 Insert하기 (0) | 2026.01.09 |
| [ABAP] 동적 ALV 필드 구성 및 월별 주차 계산하기 (0) | 2026.01.03 |
| [ABAP] XML로 그래프 커스터마이징하여 그리기 (0) | 2025.12.28 |