-
[SAP Report] ALV LayoutSAP 2022. 5. 4. 15:02
이번에는 저번에 작성한 ALV에서 Layout 부분을 설정하는 것에 대해 알아보려합니다.
2022.04.14 - [SAP Report] - [SAP Report] ALV Inclass_01
[SAP Report] ALV Inclass_01
안녕하세요! 건양대학교 기업소프트웨어학부 학생입니다. 이번에 SAP Report 강의를 들으며 작성한 코드를 간략하게 설명해보려고 합니다. 잘부탁드립니다. 위에 두 테이블에 있는 데이터를 이용
minmin98.tistory.com
저번 글은 위의 링크를 참고하시면 되겠습니다.
1. 신호등
ABAP ALV에서 신호등 아이콘을 삽입할 수 있습니다.
기존에 사용하던 구조체를 포함하는 Types 구문을 선언해줍니다.
light라는 새로운 필드를 생성해주고 C type의 1자리로 설정해줍니다.
조건에 맞게 신호등 아이콘을 표시하기 위해 IF 구문을 작성해줍니다.
A+, A0일 때 초록색 아이콘을, B+이면 노란색 아이콘을, 그 이하라면 빨간색 아이콘이 표시되게끔 작성해주었습니다.
마지막으로 layout에 'LIGHT'라는 필드를 작성해주면 신호등을 구현할 수 있습니다.
2. ROW 색상
ROW 색상일 경우 ALV 컬럼 중 ROW, 행에 색상을 입혀주는 작업을 의미합니다.
위 ALV 에서 C+ 인 학생의 행이 빨간색 글자가 되도록 만들어보겠습니다.
Types 에 color 필드를 추가해줍니다. type은 C, 길이는 4로 선언해줍니다.
앞서 신호등에서 올린 조건을 확인하면 C+일 경우에 gs_list-color가 있는 것을 확인할 수 있습니다.
해당 조건에 컬러를 'C601'로 줍니다. SAP 컬러일 경우
위 색상표를 참고하시면 좋을 것 같습니다.
Layout에 필드 'COLOR'를 선언해줍니다.
3. CELL 색상
이번에는 CELL 색상, ALV 열의 색상을 설정해줄겁니다.
Types에 it_col 을 lvc_t_scol type으로 설정해줍니다.
lvc_t_scol 같은 경우 lvc_s_scol의 table type입니다.
gs_colfield 를 gs_list-it_col의 라인 타입으로 선언해줍니다. it_col같은 경우 lvc_t_scol을 의미합니다.
필드 STUID에 색상이 col_key를 참고하는 색상으로 선언해줍니다. Col_key인 경우 C4를 뜻합니다.
gs_colfield에 선언한 값을 gs_list-it_col에 append 해줍니다. gs_colfield를 클리어해줍니다.
위 사진을 참고하시면 이해가 더 좋을 것 같아 첨부해보았습니다.
Layout에 IT_COL 필드를 선언해줍니다.
위 ALV에서 학생 ID에 색상이 칠해진 것을 확인할 수 있습니다.
4. SORT
SORT일 경우 해당 컬럼을 정렬해주는 것을 의미합니다.
gt_sort와 gs_sort를 선언해줍니다.
STUID인 컬럼을 정렬해줍니다. gs_sort에 선언한 값을 gt_sort에 Append 해줍니다.
ALV 디스플레이 구현에서 Changing에 gt_sort를 작성해줍니다.
5. Field Catalog
Field Catalog를 작성해보겠습니다. 이는 ALV의 컬럼을 저희가 만들고 싶은대로 만들 수 있는 기능입니다.
모든 컬럼을 필드 카탈로그로 바꿀까 생각해봤지만, 수업 중 진행한 내용은 하나의 컬럼을 추가하는 것이기 때문에 그에 맞게 작성해보았습니다.
tid라는 필드를 추가해줍니다. type은 ztutor_01-tid를 가져왔습니다.
gt_fcat과 gs_fcat을 선언해줍니다.
필드의 이름과 테이블, 해당 테이블의 필드를 작성해줍니다. col_pos일 경우 alv에 들어갈 순서를 의미합니다.
gs_fcat에 선언한 값을 gt_fcat에 Append 해줍니다.
Display 구현에서 it_fieldcatalog 부분을 gt_fcat으로 선언해줍니다.
감사합니다.
김성준, 「Easy ABAP 2.0」, 프리렉(2012)
책정보, http://www.yes24.com/Product/Goods/7334929.
SAP Joy, http://sapjoy.co.kr/
'SAP' 카테고리의 다른 글
[SAP OOP] Interface // 잔고 관리 (0) 2022.05.10 [SAP Report] ALV Event (1) (0) 2022.05.10 [SAP OOP] TRY 구문 // Catch (0) 2022.05.05 [SAP Report] ALV Inclass_01 (0) 2022.04.14 [SAP Report] SE11 / Table (0) 2022.04.12