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.      
다음 이전