[SAP ABAP] ALV GRID 생성 방법 (2)

🌼JOYGARDEN·2025년 2월 3일
1

SAP ABAP

목록 보기
19/19

ABAP ALV GRID 컨트롤 생성

ALV GRID 생성 방법 (1)
위 링크에서 스크린에 컨테이너를 생성하여 ALV GRID 컨트롤을 추가하는 것을 해보았는데 이제 ALV를 생성하여 화면에 데이터가 보이게 할 것이다.

먼저 첫 번째 링크와 같이 스크린 100번을 생성하고 스크린 페인터를 이용해 Custom Control을 추가한다.
그 후 ALV GRID 컨트롤을 참고하는 객체 변수를 선언하고 동시에 화면에 보여줄 인터널 테이블도 생성한다.

1. 객체 변수 생성

" ALV GRID 컨트롤을 참고하는 객체 변수 선언 
DATA: ccon_ref   TYPE REF TO cl_gui_custom_container.
DATA: g_grid     TYPE REF TO cl_gui_alv_grid.

" 화면에 보여줄 인터널 테이블 선언
DATA: gt_sflight TYPE TABLE OF sflight.

2. SAP 컨테이너 생성

스크린 100번에 Custom Control (이름 : CCON) 생성한다.

스크린 생성 후 사진 속 위 버튼 Layout을 누르고

Custom Control 생성 (이름 : CCON)

생성 후 PBO 모듈 init_con에 SAP 컨테이너를 생성한다.
CREATE OBJECT 구문은 cl_gui_custom_container 클래스의 생성자를 호출하게 되며, SAP 컨테이너 인스턴스가 생성된다. 이때 파라미터를 스크린에 생성한 Custom Control을 지정하면 된다.

MODULE init_con OUTPUT.

IF con_ref IS INITIAL.
	CREATE OBJECT con_ref
 EXPORTING
 	container_name = 'CCON'.

3. ALV GRID 컨트롤 생성

파라미터 i_parent는 ALV가 화면에 조회되도록 스크린과 연결고리 역할을 하는 SAP 컨테이너를 지정한다.

CREATE OBJECT g_grid
	EXPORTING
    	i_parent = con_ref.
ENDIF.
ENDMODULE.

4. DATA SELECT

메인 프로그램에서 프로그램의 실행 이벤트인 START-OF-SELECTION을 추가하여, 데이터를 SELECT 한다.
그리고 스크린 100번을 호출한다.

SELECT * FROM sflight
	INTO TABLE gt_sflight
    
CALL SCREEN 0100.

5. AVL Display Method 호출

ALV를 조회하는 g_grid의 method를 호출하면 ALV 작업이 끝난다.
MODULE init_con 마지막 라인에 다음 코드를 추가한다.

CALL METHOD g_grid->set_table_for_first_display
	EXPORTING
    	i_structure_name = 'SFLIGHT'
    CHANGING
    	it_outtab = gt_sflight.

6. 프로그램 실행

프로그램을 실행(F8)하면 아래 사진과 같은 결과를 볼 수 있다.

profile
블로그 내용은 Easy ABAP과 SAP에서 교육용으로 제공하는 자료를 참고하였습니다.

0개의 댓글