쌓고 쌓다
[ABAP] 'GFW_PRES_SHOW' 펑션으로 그래프 차트 쉽게 그리기 본문
기본적인 그래프를
Screen Painter에 Custom Control를

위 사진처럼 만들고 그래프를 그리는 것 뿐만아니라
CL_GUI_CONTAINER 타입인 Container Object에 그래프를 그리는 방법이 있다.
Container Object에 넣으면 Docking Container, Split Container를 사용했을때
특정 Container 부분에 그래프를 그려 넣을 수 있다.

그래프1 버튼을 누르면 위와같은 그래프가 Docking Container의 한 부분에 그려 넣을 수 있다는 말이다.

그래프2 버튼을 눌렀을때 또 다른 새로운 그래프를 그려 넣을 수 있다.
그래프의 종류는 다양하게 가능하다.
단, 누적 막대 그래프는 안된다.
누적 막대 그래프를 그리는 방법은 연구해서 다음 포스팅에 작성해보겠다.
1. CL_GUI_CONTAINER 컨테이너 오브젝트에 그래프 그리기

도킹 컨테이너에 사용된 SPLITTER CONTAINER의 한 부분에 그래프를 그려보자
예제는
상단의 ALV : GO_PO_CONTAINER
하단의 ALV : GO_CHART_CONTAINER
로 구성되어 있다.
하단의 ALV에 그래프를 그리자.

SPLIT CONTAINER를 구성하는 부분이다.
다를거 없다.
그래프는 펑션이 알아서 그려준다.
펑션 부분을 보자.

그래프1 버튼을 눌렀을때 그래프가 구성되는 부분이다.
LT_XLABELS, LT_COLLABELS는 안해도 된다.
LT_XTEXTS, LT_YVALES를 가지고 라벨이 자동 구성 된다.
단지, 새로운 라벨링을 위해 존재하는 부분이다.
위의 코드로

이렇게 그래프가 그려지니 비교하면서 값을 설정하는 부분을 직관적으로 이해하자.
'GFW_PRES_SHOW' 펑션의
PARENT 부분에 Container Object를 넣어주면
Docking Container를 사용하면서 한 영역에 그래프를 그려줄 수 있는 것이다.
참고 :
파이 그래프 차트도 위의 링크에서 참고하여 금방 바로 만들 수 있다.
2. Screen Painter에서 만든 Custom Control에 그래프 그리기
다른 방법으로 Screen Painter로 사용자 제어 영역을 만들어 그래프를 넣느 방법 있다.

이렇게 Custom Control 영역을 Screen Painter로 그려 넣었다면
'GFW_PRES_SHOW' 펑션의 CONTAINER 파라미터에
'CHART_CONT'를 넣어주면 저 영역에 그래프가 그려진다.
그래프1과 그래프2 버튼을 누름으로써
새로운 그래프를 그려넣으면 FREE해주는 과정이 필요없이
알아서 그래프가 새로 그려진다.
차트의 종류를 바꾸면서 새로 그려넣을 수 도 있다.
다양한 그래프 예제 프로그램 보기
티코드 GRAL를 들어가면
다양한 그래프 예제들을 볼 수 있다.

그중에 'GFW_DEMO_PRES' 프로그램에

그래프 예제가 정말 잘되어있고 차트 타입도 누적 막대 그래프가 존재하는데
아직 분석하여 내것으로 만들지 못했다. ㅠㅠ 너무 어렵다
XML 방식으로 그래프를 누적 그래프를 그리던
이 프로그램을 까봐서 만들던 꼭 성공해보자..
'SAP > ABAP' 카테고리의 다른 글
| [ABAP] 동적 ALV 필드 구성 및 월별 주차 계산하기 (0) | 2026.01.03 |
|---|---|
| [ABAP] XML로 그래프 커스터마이징하여 그리기 (0) | 2025.12.28 |
| [ABAP] SAP Memory, ABAP Memory 이해와 차이점 (0) | 2025.12.21 |
| [ABAP] 사용자 파라미터 (사용자 마스터 매개변수 ID) 테이블 (0) | 2025.12.21 |
| [ABAP] 매크로 DEFINE 구문 (3) | 2025.12.14 |