분류 전체보기 (122)
공지사항 (3)
주저리 주저리 (26)
Ubuntu (3)
개발관련 (37)
개발이야기 (6)
Language (20)
Framework (5)
Pattern (2)
DataBase (4)
Server (4)
Book (9)
스터디 (0)
STRUTS2  Head First Software Development  다짐  자바  Eclipse  db connection  mylyn  ubuntu netbook remix  oracle  HFSD 
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
+ dazzi님 블로그
+ 온 오프 믹스! (모임,세미…
+ kenu blog
+ OKJSP: 사는 얘기
+ 정호님 블로그
+ 존경하는회수형님
+ 자바지기님 블로그
+ 루비나라 출입구
+ 은정이누나 블롯
+ Total :
+ Today :
+ Yesterday :
  

 

 

 

ABAP 11일차
+   [Language/ABAP]   |  2009. 10. 7. 21:49  
정리 ...

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 의 각 속성에 대한 설명 및 값 대입.
  
  
  
  
  
  
  




















 
 
        

별책부록's Blog is powered by Daum