정리 ...
lvc_s_layo 에 대한 속성~!
isLayout -> wa_layout 으로 주면... 값이 인식됨.
속성 1 : light : icon 을 만들어서 넣어주기
문법상 include 할때에는...
DATA: BEGIN OF wa1.
INCLUDE TYPE spfli.
DATA: light,
END OF wa1.
올바른 표현.
DATA: BEGIN OF wa1,
INCLUDE TYPE spfli.
DATA: light,
END OF wa1.
틀린 표현.
p.s z00_kdn_20091006_1 에 예제가 있음.
속성 2 - Sort
wa_sflight-light 의 값을 이용하여 it_sflight 에 넣어준다.
속성 3 - color
SE38 -> showcolo 를 확인 하면 알 수 있다.
concatenate 'C' col_positive '10' into ...
'C510 ' 등으로 작업을 하는 방법을 배우겠습니다.
sort하기 전에 color 을 먼져 적용하고 sort를 해 버렸기 때문에...
우리가 color를 적용한 colum이 보이는 alv하단에 묻히게 되었다.
속성 4.
change cell color
it_colfields TYPE lvc_t_scol,
END OF wa_sflight.
DATA: wa_colfields type lvc_s_scol.
이래 top에 추가 하기..
오후 시간.
SE24 -> cl_gui_alv_grid -> mc_fc_help
자 없앨 것을 찾아보아요.
인터널 테이블 하나를 선언해달라...
APPEND cl_gui_alv_grid=>mc_fc_info TO it_func.
APPEND cl_gui_alv_grid=>mc_fc_views TO it_func.
주의 => 의 왼쪽과 오른쪽의 공백이 없어야 한다.
Error 가 나오게 되므로 주의 하기.
page : 476
alv에는 detail list 가 안 나온다.
예를 들자면
z00_kdn_20091006_2 를 참고 하시라.
hide 는 detail list 에 필요한 데이터를 담고 있다.
at Line-selection 이 일어날 경우...
hide 했던 자료가 나오게 된다.
김셈: 노트 필기...
* AT LINE-SELECTION
detail list 를 위한 Event
총 20개의 Detail List 를 구현할 수 있음.
Sy-Lsind ( ex: Basic List 는 0번
Detail List 는 1~20 번 까지.
ALV는 Detail List 를 볼 수 없 다.
3-1 6 page 흠흠..
z00_kdn_20091005_3 - 처럼 생긴 work area가 변경되는 사항도.. 마찬가지로
Detail을 볼 수 없을 것이다.
Root ┌ Node 1
└ Node 2
├ Node 3
└ Node 4
hot spot - 손까락 모양 ( browser의 link cursor)
back up by type m
sp01
Event! Start
se24 -> Double Click 라는 Event 를 찾아보세
예제에서는 double click Event 를 사용 하련다.
Class 는 Definition 과 Implementation 의 두 부분으로 이루어진다.
section ┌ public
├ protected
└ private
section 은 Java에서 이야기 하는 접근자 영역이다.
상속의 개념때문에 protected 와 private 부분을 나누어 보자.
Event를 발생시키는 쪽을 Trigger 라고 하고
듣는 쪽이 Handling 이라고 한다.
class 를 이용한 double click Event 구현할 코드를 적어준다.
1. Top 에 Class의 선언부와 등록부를 만들어 준다.
*----------------------------------------------------------------------*
* CLASS lcl_handler DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_handler DEFINITION.
PUBLIC SECTION.
CLASS-METHODS: on_doubleclick
FOR EVENT double_click OF cl_gui_alv_grid
IMPORTING es_row_no.
ENDCLASS. "lcl_handler DEFINITION
*----------------------------------------------------------------------*
* CLASS lcl_handler IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_handler IMPLEMENTATION.
METHOD on_doubleclick.
MESSAGE i003(z08_kdn) WITH es_row_no-row_id.
ENDMETHOD. "on_doubleclick
ENDCLASS. "lcl_handler IMPLEMENTATION
2. 필요한 화면에 내가 선언한 Class를 등록시켜준다.
SET HANDLER lcl_handler=>on_doubleclick FOR my_alv_grid.
이렇게만 하면 사용 할 수 있음.
이렇게만 하면 각 row에 적용이 된다.
자 그럼 버튼으로 적용해보쉐~
BUTTON에 대한 DOUBLE CLICK 적용해 봅시다.
FIELDCATALOG 에 DISPLAY_BOOKINGS 을 추가해주시고...
FORM change_button_click .
wa_ct-fieldname = 'DISPLAY_BOOKINGS'.
wa_ct-style = cl_gui_alv_grid=>mc_style_button.
APPEND wa_ct TO wa_sflight-ct.
wa_sflight-display_bookings = 'Bookings'(t11).
ENDFORM.
를 만들어 줍니다.
0800 화면 안에서
PERFORM change_col_color. 문으로 들어가서
IF wa_sflight-carrid = 'LH' AND
wa_sflight-connid = '0402'.
PERFORM change_button_click.
ENDIF.
이렇게 선언해줍니다. LOOP 문 안에서 CHANGE_BUTTON_CLICK 를 실행하기 위함.
ALV상에는 아직 BUTTON이 나올 COLUM에 대한 정의가 없기 때문에...
PERFORM change_fieldcat. 안에서
CLEAR : it_fieldcat.
wa_fieldcat-fieldname = 'DISPLAY_BOOKINGS'.
wa_fieldcat-ref_field = ''.
wa_fieldcat-ref_table = ''.
wa_fieldcat-col_pos = 3.
wa_fieldcat-coltext = 'GG'.
wa_fieldcat-hotspot = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
를 추가 시켜 줍니다.
배운 내용 정리.
alv 의 사용과 속성에 대해서.
WorkArea 의 include Type 의 문법과 사용법
CALL METHOD my_alv_grid->set_table_for_first_display 의 각 속성에 대한 설명 및 값 대입.