SAP - GRID ALV

1. ALV란?

  • ABAP List Viewer의 약자
  • 리스트 화면에 데이터를 조회하고나, 조회된 데이터를 수정/변경
  • 데이터 구조와 인터널 테이블만 활용하여 단시간 내에 리스트 프로그램 개발 가능

2. GRID ALV

  • ALV를 이용하여 데이터를 화면에 뿌려주기 위해서는?
    1. 인터널 테이블 선언
      • 아웃풋 테이블: ALV에서 데이터 정보를 저장하는 인터널 테이블 영역
    2. 데이터의 구조(필드 카탈로그)
      • ALV GRID 컨트롤이 스크린에 조회되는 구조를 정의
      • ABAP Dictionary의 테이블 또는 구조체를 이용하거나, 인터널 테이블의 구조를 그대로 사용

1. SAP 컨테이너 컨트롤

  • ALV인스턴스를 물리적으로 화면에 보이게 하기위한 스크린과 ALV GRID 컨트롤의 연결고리 역할

2. ALV 생성

1. screen 만들기

  CALL SCREEN 100.

2. container 만들기

  • 이벤트 필요 시 이벤트 만들어서 grid에 올림
  " CONTAINER 생성
  CREATE OBJECT P_GV_CON1
    EXPORTING
      REPID     = SY-REPID
      DYNNR     = SY-DYNNR
      EXTENSION = 2000.

3. grid 만들기

  " ALV GRID 설정
  CREATE OBJECT P_GV_GRID1
    EXPORTING
      I_PARENT = P_GV_CON1.

4. grid에 보여 줄 아웃풋 테이블 구성

  CALL METHOD P_GV_GRID1->SET_TABLE_FOR_FIRST_DISPLAY
    EXPORTING
      I_DEFAULT            = 'X'
      I_SAVE               = 'A'
      IT_TOOLBAR_EXCLUDING = GT_EXCLUDE
      IS_LAYOUT            = GS_LAYOUT
    CHANGING
      IT_FIELDCATALOG      = GT_FCAT[]
      IT_OUTTAB            = P_GT_DATA.

3. ALV 메서드

1. 이벤트 선언

2. 이벤트 핸들러 메서드 정의

  • 프로그램 내 이벤트 발생에 반응하기 위해 클래스를 정의하고 이벤트 핸들러 메서드를 선언함
"더블 클릭 이벤트 핸들러 메서드 정의
CLASS LCL_EVENT_RECEIVER DEFINITION.
PUBLIC SECTION.
	METHODS:
    HANDLE_DOUBLE_CLICK
    OF CL_GUI_ALV_GRID
    	IMPORTING E_ROW E_COLUMN.
ENDCLASS.

3. 이벤트 핸들러 메서드 등록

  • 이벤트를 실행하기 위해 ALV GRID에 이벤트 메서드를 등록
DATA: EVENT_RECEIVER TYPE REF TO LCL_EVENT_RECEIVER.

CREATE OBJECT EVENT_RECEIVER.

SET HANDLER EVENT_RECEIVER -> HANDLE_DOUBLE_CLICK FOR G_GRID.

4. 이벤트 호출

5. 이벤트 핸들러 메서드 실행


4. ALV 이벤트 종류

0. 순서

  1. 정의
  2. 구현
  3. 이벤트 핸들러
  4. 필드 카탈로그 선언

1. DOUBLE_CLICK

  • 셀을 더블클릭할 때 실행되는 이벤트
  • 필드 카탈로그 선언이 필요없음.

2. HOTSPOT_CLICK

  • Hotspot으로 선언된 컬럼을 마우스로 클릭할 때 반응하는 이벤트
  GS_FIELDCAT-HOTSPOT = 'X'.

3. Toolbar + User_command

  • Toolbar에서 아이콘을 생성하고 User_command에서 아이콘에 기능을 추가

4. Color

  • 특정 컬럼에 색상을 주고싶 을 때 사용하는 이벤트
GS_FCAT-EMPHASIZE = 'C310'.

3. Field Catalog

  • ALV에서 조회되는 칼럼들의 필드 정보를 포함하는 LVC_T_FCAT 타입의 테이블 구조

1. ALV 필드 카탈로그 생성

1-1. ABAP Dictionary를 이용하는 방법

1-2. 필드 카탈로그를 수동으로 구성하는 방법

1-3. 구조체와 필드 카탈로그를 동시에 사용


4. Search Help

Search Help?
: 사용자가 하면 필드에 값을 입력하고자 할 때 입력 가능한 값의 List를 보여주는 기능

1. Search Help 활용

  • 화면 필드에 Search Help 추가하는 법
    • Data Element에 Search Help 추가
    • Table Field에 Search Help 추가
    • Screen Field에 Search Help 추가
                  

좋은 웹페이지 즐겨찾기