✅ Hotspot(핫스폿) 정의
ALV 또는 UI 요소에서 클릭 가능한 영역을 만들어주는 기능
→ 사용자가 특정 셀/필드를 클릭했을 때 ABAP 코드에서 이벤트를 처리할 수 있음
✅ 어디에서 사용하나?
ALV Grid
특정 필드를 Hotspot으로 지정하면 클릭 이벤트(HOTSPOT_CLICK)를 받을 수 있어.
예: 자재번호를 클릭하면 상세 화면으로 이동
예: 전표번호를 클릭하면 MIGO/FB03 호출
✅ ALV Hotspot 설정 방법
방법 1: Field Catalog에서 HOTSPOT = ‘X’
ls_fcat-fieldname = 'MATNR'.
ls_fcat-hotspot = 'X'.
APPEND ls_fcat TO lt_fcat.
✅ 클릭 이벤트 처리
SET HANDLER lcl_event_handler=>on_hotspot_click FOR gr_grid.
CLASS lcl_event_handler DEFINITION.
PUBLIC SECTION.
METHODS on_hotspot_click
FOR EVENT hotspot_click OF cl_gui_alv_grid
IMPORTING e_row_id e_column_id.
ENDCLASS.
CLASS lcl_event_handler IMPLEMENTATION.
METHOD on_hotspot_click.
READ TABLE gt_list INTO DATA(ls_row) INDEX e_row_id.
CASE e_column_id-fieldname.
WHEN 'MATNR'.
" 자재 상세로 이동 처리
WHEN 'EBELN'.
" 구매오더 상세 처리
ENDCASE.
ENDMETHOD.
ENDCLASS.
✅ Hotspot과 Button의 차이
기능 Hotspot Button
| 형태 | 링크처럼 보임 | 버튼 UI |
| 사용처 | 특정 셀 클릭 처리 | 명확한 액션 버튼이 필요할 때 |
| 구현 | Field catalog, event | Toolbar 사용 |
✅상세구현
✔ 1. 필드 카탈로그 - 핫스팟 필드 지정
✔ 2. Class 선언
✔ 3. Class Implementation 생성
✔ 4. 특정필드 핫스팟 지정
✔ 5. 완료

1. 필드 카탈로그 - 핫스팟 필드 지정

2. 이벤트 메소드를 지정하여 구현하기위해 Class 선언.


3. 이벤트로 인해 어떤 action이 발생하는지 지정 필요 - class implementation 생성.


4. 특정필드에만 핫스팟을 주기위해 CASE문 활용.
- Hotspot 클릭 시 보여지는 데이터를 get_prod 통해 불러옴.

- Call transaction 로도 이동 가능

5. 완료

'SAP' 카테고리의 다른 글
| 자주 쓰는 FUNCTION 모음 (0) | 2025.12.08 |
|---|---|
| NEW SYNTAX (0) | 2025.12.05 |
| Field Catalog / Layout / Sort (0) | 2025.12.05 |
| FIELD, CHAIN 문 (0) | 2025.12.03 |
| 통화 / 단위 Possible Entries (F4) 안 뜰 때 (0) | 2025.12.03 |