300x250
728x90

# SAP ALV에서 Button(버튼) 생성하기


# 우선 다음과 같이 ALV가 있다고 하고? 저 빨간 상자에 버튼을 추가해 보자.

 


# 그전에 참고해야 할 것

 

- Include P02 생성

- Include A02 생성 

- [ TOOLBAR ] or [ USER_COMMAND ] Method 선언 

- Event 설정 

 

순서이다. 

 

 

# 여기서 P02로 하는 이유는 제 프로그램에서는 이미 P01, A01이 있기 때문이다. 

# 또한 항상 ALV 이벤트설정할 때에는 INCLUDE 순서가장 중요하다. 

 

 

# 01. Include P02 생성 or 틀 만들기


# 01. 다음과 같이 Include P02 생성하고, CLASS설정해 보자.

 

# 02. 완료가 되면 다음과 같이 틀만 만들어보자.

[ TOOLBAR ] or [ USER_COMMAND ]을 선언해 보자.

*&---------------------------------------------------------------------*
*&  Include           Z_05_RFLIGHT_CONNECT_P02
*&---------------------------------------------------------------------*
CLASS LCL_EVENT_RECEIVER02 DEFINITION.
  PUBLIC SECTION.

    METHODS : HANDLE_TOOLBAR
                 FOR EVENT TOOLBAR OF CL_GUI_ALV_GRID
                 IMPORTING E_OBJECT E_INTERACTIVE.

    METHODS : HANDLE_USER_COMMAND
                 FOR EVENT USER_COMMAND OF CL_GUI_ALV_GRID
                 IMPORTING E_UCOMM.


  PROTECTED SECTION.

  PRIVATE SECTION.

ENDCLASS.                    "LCL_EVENT_RECEIVER02 DEFINITION"
CLASS LCL_EVENT_RECEIVER02 IMPLEMENTATION.
  METHOD HANDLE_TOOLBAR.


  ENDMETHOD.                    "handle_toolbar"

  METHOD HANDLE_USER_COMMAND.


  ENDMETHOD.                    "handle_user_command"

ENDCLASS.                    "LCL_EVENT_RECEIVER IMPLEMENTATION"

DATA:
  G_EVENT_RECEIVER02 TYPE REF TO LCL_EVENT_RECEIVER02.

 

# 02. Include A02 이벤트 설정하기


# 01. INCLDUE A02생성한 뒤, SET HANDLER을 통해서 이벤트설정해 보자. 

FORM SET_EVENT2 .
  CREATE OBJECT G_EVENT_RECEIVER02.

  SET HANDLER:
    G_EVENT_RECEIVER02->HANDLE_TOOLBAR FOR GO_GRID02,
    G_EVENT_RECEIVER02->HANDLE_USER_COMMAND FOR GO_GRID02.

ENDFORM.                    " SET_EVENT "

 

 

# 03. PROCESS BEFORE OUTPUT


# 01. [ SET_TABLE_FOR_FIRST_DISPLAY ] 만나기 전에 위에서 설정했던 PERFORM설정해 보자. 

 

# 04. Include P02  버튼 생성 


# 01. 다음 로직을 통해서 버튼 생성을 할 수 있다. 

  DATA:
    LS_TOOLBAR TYPE STB_BUTTON.

  LS_TOOLBAR-BUTN_TYPE = '3'.
  APPEND LS_TOOLBAR TO E_OBJECT->MT_TOOLBAR.

  LS_TOOLBAR-FUNCTION  = 'BOOK'.
  LS_TOOLBAR-ICON      = ICON_FLIGHT.
  LS_TOOLBAR-TEXT      = ' 예약'.
  LS_TOOLBAR-BUTN_TYPE = '0'.
  LS_TOOLBAR-QUICKINFO = '비행기 예약하기'.
  LS_TOOLBAR-CHECKED   = SPACE.
  APPEND LS_TOOLBAR TO E_OBJECT->MT_TOOLBAR.
  CLEAR LS_TOOLBAR.

 

- FUNCTION : User-Command

 

- ICON : 아이콘 설정

- TEXT : 아이콘 내용

 

- BUTN_TYPE

 

- QUICKINFO : 팝업 내용 

 

# 02. 아이콘 버튼 분리자 생성

 

 

# 05. Include P02  User Command 설정


# E-UCOMM 통해 툴바 버튼을 눌렀을 , 다음과 같이 로직 설정을 해보면 된다.

 

 

끝..! 

 

 

도움이 되셨으면 하단에 있는 광고 한번씩 눌러주세유!!

728x90