SAP ABAP
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.
ENDFORM.
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.
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.
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.
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.
Tags:
SAP ABAP