
이때 항공사 코드를 핫스팟 클릭을 하면 OR 아무곳이 나 클릭하면
SUBMIT에 의하여 항공사코드를 인자로 갖고 Z2WEEK_ALV006의 SELECTION-SCREEN을 걸쳐 ALV로 이동


* CLASS *
CLASS lcl_event_receiver DEFINITION DEFERRED.
DATA: g_event_receiver TYPE REF TO lcl_event_receiver.
*--------------------------------------------------
* 클래스 선언
*-------------------------------------------------
CLASS lcl_event_receiver DEFINITION.
PUBLIC SECTION.
METHODS : handle_double_click
FOR EVENT double_click OF cl_gui_alv_grid " cl_gui_alv_grid : 클래스, double_click : 이벤트
IMPORTING e_row e_column. " > 선택된 값의 행과 열 반환
METHODS : handle_hotspot_click
FOR EVENT hotspot_click OF cl_gui_alv_grid " cl_gui_alv_grid : 클래스, double_click : 이벤트
IMPORTING e_row_id e_column_id." > 선택된 값의 행과 열 반환
ENDCLASS.
*--------------------------------------------
* 클래스 구현
*--------------------------------------------
CLASS lcl_event_receiver IMPLEMENTATION.
* 이벤트로 IMPORTING된 행 번호로 테이블에서 찾고, 그 중 CARRID를 추출
METHOD handle_hotspot_click.
DATA : CID TYPE SCARR-CARRID.
IF r1 ='X'.
DATA: tmp_GT_ZSC LIKE LINE OF GT_ZSC.
READ TABLE GT_ZSC INDEX e_row_id-index INTO tmp_GT_ZSC.
CID = tmp_GT_ZSC-CARRID.
ELSEIF r2 ='X'.
DATA: tmp_GT_TABLE LIKE LINE OF GT_TABLE.
READ TABLE GT_TABLE INDEX e_row_id-index INTO tmp_GT_TABLE.
CID = tmp_GT_TABLE-CARRID.
SUBMIT Z2WEEK_ALV006_SPFLI WITH s_carrid = CID VIA SELECTION-SCREEN AND RETURN.
ENDMETHOD.
METHOD handle_double_click.
DATA : CID TYPE ZSPFLI-CARRID.
IF r1 ='X'.
DATA: tmp_GT_ZSC LIKE LINE OF GT_ZSC.
READ TABLE GT_ZSC INDEX e_row-index INTO tmp_GT_ZSC.
CID = tmp_GT_ZSC-CARRID.
ELSEIF r2 ='X'.
DATA: tmp_GT_TABLE LIKE LINE OF GT_TABLE.
READ TABLE GT_TABLE INDEX e_row-index INTO tmp_GT_TABLE.
CID = tmp_GT_ZSC-CARRID.
ENDIF.
SUBMIT Z2WEEK_ALV006_SPFLI WITH s_cname = CID VIA SELECTION-SCREEN AND RETURN.
ENDMETHOD.
ENDCLASS.