SAP ALV 툴바 (행추가, 행삭제 ) 추가하기

SAP ABAP

CLASS 이벤트로 사용되는 툴바 생성 로직이다.

FORM EVENT_TOOLBAR  USING    PR_OBJECT TYPE REF TO CL_ALV_EVENT_TOOLBAR_SET
                             PV_INTERACTIVE TYPE CHAR01
                             PR_SENDER TYPE REF TO CL_GUI_ALV_GRID.

      DATA : LS_BTN    TYPE STB_BUTTON,
         LS_BTNMNU TYPE STB_BTNMNU.


  CLEAR : LS_BTN.
  LS_BTN-BUTN_TYPE = '3'               " | 형 모양
  LS_BTN-FUNCTION  = SPACE.
  LS_BTN-ICON      = SPACE
  LS_BTN-QUICKINFO = SPACE
  LS_BTN-TEXT      = SPACE
  LS_BTN-DISABLED  = SPACE

  APPEND LS_BTN TO PR_OBJECT->MT_TOOLBAR.



  CLEAR : LS_BTN.
  LS_BTN-BUTN_TYPE = '0'
  LS_BTN-FUNCTION  =  'ADD'
  LS_BTN-ICON      =  ICON_INSERT_ROW 
  LS_BTN-QUICKINFO =  '행추가'
  LS_BTN-TEXT      =  '행추가'
  LS_BTN-DISABLED  =  SPACE 

  APPEND LS_BTN TO PR_OBJECT->MT_TOOLBAR.


  CLEAR : LS_BTN.
  LS_BTN-BUTN_TYPE =  '0'
  LS_BTN-FUNCTION  =  'DELETE'
  LS_BTN-ICON      =  ICON_DELETE_ROW 
  LS_BTN-QUICKINFO =  '행삭제'
  LS_BTN-TEXT      =  '행삭제'
  LS_BTN-DISABLED  =  SPACE 

  APPEND LS_BTN TO PR_OBJECT->MT_TOOLBAR.




ENDFORM.          




위의 로직을 보면 이런 결과값이 나온다.




다음처럼 서브루틴을 이용해서 로직을 짜면 더 효율적으로 만들 수 있다.


FORM ADD_BUTTON  USING    P_OBJECT TYPE REF TO CL_ALV_EVENT_TOOLBAR_SET
                          P_BUTTON_TYPE
                          P_FUNCTION_CODE
                          P_ICON
                          P_BUTTON_INFO
                          P_BUTTON_TEXT
                          P_DISABLED.

  DATA : LS_BTN    TYPE STB_BUTTON,
         LS_BTNMNU TYPE STB_BTNMNU.

  CLEAR : LS_BTN.
  LS_BTN-BUTN_TYPE = V_BUTTON_TYPE. "버튼타입 ( 0 :버튼모양 / 3 : 작대기 모양)
  LS_BTN-FUNCTION  = V_FUNCTION_CODE."유저커맨드에서 사용할 펑션코드
  LS_BTN-ICON      = V_ICON.         "보여줄 아이콘
  LS_BTN-QUICKINFO = V_BUTTON_INFO.  "보여줄텍스트
  LS_BTN-TEXT      = V_BUTTON_TEXT.  " 마우스 올렸을때 보여줄 테이블 
  LS_BTN-DISABLED  = V_DISABLED.        " 숨김표시

  APPEND LS_BTN TO P_OBJECT->MT_TOOLBAR.

ENDFORM.      
다음 이전