DATA : gt_ui_functions TYPE ui_functions, " ToolBar
gt_ui_functions2 TYPE ui_functions, " ToolBar
gt_ui_functions3 TYPE ui_functions, " ToolBar
gt_ui_functions4 TYPE ui_functions, " ToolBar
gt_ui_functions5 TYPE ui_functions, " ToolBar
gt_ui_functions6 TYPE ui_functions. " ToolBar
PERFORM toolbar_part USING 'GT_UI_FUNCTIONS'. " Tool Bar
*&---------------------------------------------------------------------*
*& Form toolbar_part
*&---------------------------------------------------------------------*
* ALV기본 제공 ToolBar 정의
*----------------------------------------------------------------------*
* -->p_t_ui_functions UI Function Table
*----------------------------------------------------------------------*
FORM toolbar_part USING p_t_ui_functions.
FIELD-SYMBOLS : <table> TYPE ui_functions.
DATA : l_table_name LIKE feld-name.
CONCATENATE p_t_ui_functions '[]' INTO l_table_name.
ASSIGN (l_table_name) TO <table>.
PERFORM append_exclude_functions
TABLES <table>
* USING : CL_GUI_ALV_GRID=>MC_FC_EXCL_ALL.
USING : cl_gui_alv_grid=>mc_fc_loc_undo, "
** cl_gui_alv_grid=>mc_fc_auf, " ???? &AUF
* cl_gui_alv_grid=>mc_fc_average, " &AVERAGE
* cl_gui_alv_grid=>mc_fc_back_classic,
* cl_gui_alv_grid=>mc_fc_call_abc, " &ABC
* cl_gui_alv_grid=>mc_fc_call_chain,
* cl_gui_alv_grid=>mc_fc_call_crbatch,
* cl_gui_alv_grid=>mc_fc_call_crweb,
* cl_gui_alv_grid=>mc_fc_call_lineitems,
** cl_gui_alv_grid=>mc_fc_call_master_data,
** cl_gui_alv_grid=>mc_fc_call_more,
** cl_gui_alv_grid=>mc_fc_call_report,
* cl_gui_alv_grid=>mc_fc_call_xint,
** cl_gui_alv_grid=>mc_fc_call_xxl,
** cl_gui_alv_grid=>mc_fc_col_invisible,
** cl_gui_alv_grid=>mc_fc_col_optimize,
** cl_gui_alv_grid=>mc_fc_current_variant,
** cl_gui_alv_grid=>mc_fc_data_save,
** cl_gui_alv_grid=>mc_fc_delete_filter,
** cl_gui_alv_grid=>mc_fc_deselect_all,
** cl_gui_alv_grid=>mc_fc_detail,
* cl_gui_alv_grid=>mc_fc_expcrdata,
* cl_gui_alv_grid=>mc_fc_expcrdesig,
* cl_gui_alv_grid=>mc_fc_expcrtempl,
* cl_gui_alv_grid=>mc_fc_expmdb,
* cl_gui_alv_grid=>mc_fc_extend,
* cl_gui_alv_grid=>mc_fc_f4,
** cl_gui_alv_grid=>mc_fc_filter,
** cl_gui_alv_grid=>mc_fc_find,
** cl_gui_alv_grid=>mc_fc_fix_columns,
cl_gui_alv_grid=>mc_fc_graph,
cl_gui_alv_grid=>mc_fc_help,
cl_gui_alv_grid=>mc_fc_info,
* cl_gui_alv_grid=>mc_fc_load_variant,
cl_gui_alv_grid=>mc_fc_loc_copy, " ? ??
cl_gui_alv_grid=>mc_fc_html,
cl_gui_alv_grid=>mc_fc_loc_copy_row, " ? ??
cl_gui_alv_grid=>mc_fc_loc_cut, " ??
cl_gui_alv_grid=>mc_fc_loc_delete_row, " ???
cl_gui_alv_grid=>mc_fc_loc_insert_row, " ???
cl_gui_alv_grid=>mc_fc_loc_move_row,
cl_gui_alv_grid=>mc_fc_loc_append_row, " ????
cl_gui_alv_grid=>mc_fc_loc_paste, " ????
cl_gui_alv_grid=>mc_fc_loc_paste_new_row, " ????
** cl_gui_alv_grid=>mc_fc_maintain_variant,
* cl_gui_alv_grid=>mc_fc_maximum,
* cl_gui_alv_grid=>mc_fc_minimum,
** cl_gui_alv_grid=>mc_fc_pc_file,
** cl_gui_alv_grid=>mc_fc_print,
** cl_gui_alv_grid=>mc_fc_print_back,
** cl_gui_alv_grid=>mc_fc_print_prev,
** cl_gui_alv_grid=>mc_fc_reprep,
** cl_gui_alv_grid=>mc_fc_save_variant,
** cl_gui_alv_grid=>mc_fc_select_all,
cl_gui_alv_grid=>mc_fc_send,
* cl_gui_alv_grid=>mc_fc_separator,
* cl_gui_alv_grid=>mc_fc_sort,
* cl_gui_alv_grid=>mc_fc_sort_asc,
* cl_gui_alv_grid=>mc_fc_sort_dsc,
* cl_gui_alv_grid=>mc_fc_subtot,
* cl_gui_alv_grid=>mc_fc_sum,
* cl_gui_alv_grid=>mc_fc_to_office,
* cl_gui_alv_grid=>mc_fc_to_rep_tree,
** cl_gui_alv_grid=>mc_fc_unfix_columns,
* cl_gui_alv_grid=>mc_fc_views,
* cl_gui_alv_grid=>mc_fc_view_crystal,
* cl_gui_alv_grid=>mc_fc_view_excel,
* cl_gui_alv_grid=>mc_fc_view_grid,
* cl_gui_alv_grid=>mc_fc_word_processor,
cl_gui_alv_grid=>mc_fc_refresh,
cl_gui_alv_grid=>mc_fc_check.
ENDFORM. " toolbar_part
*&---------------------------------------------------------------------*
*& Form APPEND_EXCLUDE_FUNCTIONS
*&---------------------------------------------------------------------*
* GUI Status에서 빼고자 하는 Function 코드를 Internal table에 저장
*----------------------------------------------------------------------*
* -->pt_table : Function Code저장 IT
* <--p_value : Function code
*----------------------------------------------------------------------*
FORM append_exclude_functions TABLES pt_table
USING p_value TYPE any.
DATA : ls_exclude TYPE ui_func.
ls_exclude = p_value.
APPEND ls_exclude TO pt_table.
ENDFORM. " APPEND_EXCLUDE_FUNCTIONS
*&---------------------------------------------------------------------*
*& Form alv_display_part
*&---------------------------------------------------------------------*
* ALV Grid Display
*----------------------------------------------------------------------*
FORM alv_display_part .
gs_variant-handle = '0001'.
CALL METHOD lcl_grid->set_table_for_first_display
EXPORTING
is_layout = gs_layo
it_toolbar_excluding = gt_ui_functions <---여기로 들어간다.
i_save = ' ' <- 이건 맨 위를 참조해라
i_default = c_x
is_variant = gs_variant
CHANGING
it_sort = gt_sort[]
it_outtab = gt_dt[]
it_fieldcatalog = gt_lvc_fcat[].
ENDFORM. " alv_display_part
ver 2 아래꺼 참조
*&---------------------------------------------------------------------*
*& Form EXCLUDE_TOOLBAR_MAIN
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_TOOLBAR01 text
*----------------------------------------------------------------------*
FORM exclude_toolbar_main TABLES p_exclude_toolbar_main.
PERFORM append_exclude_toolbar
TABLES p_exclude_toolbar_main
* USING : CL_GUI_ALV_GRID=>MC_FC_EXCL_ALL. " ** 툴바 모두제거 **
USING : CL_GUI_ALV_GRID=>MC_FC_LOC_UNDO, " 실행취소&LOCAL&UNDO
CL_GUI_ALV_GRID=>MC_FC_AUF, " 소계확장 &AUF
CL_GUI_ALV_GRID=>MC_FC_AVERAGE, " &AVERAGE
CL_GUI_ALV_GRID=>MC_FC_BACK_CLASSIC,
CL_GUI_ALV_GRID=>MC_FC_CALL_ABC, " &ABC
CL_GUI_ALV_GRID=>MC_FC_CALL_CHAIN,
CL_GUI_ALV_GRID=>MC_FC_CALL_CRBATCH,
CL_GUI_ALV_GRID=>MC_FC_CALL_CRWEB,
CL_GUI_ALV_GRID=>MC_FC_CALL_LINEITEMS,
CL_GUI_ALV_GRID=>MC_FC_CALL_MASTER_DATA,
CL_GUI_ALV_GRID=>MC_FC_CALL_MORE,
CL_GUI_ALV_GRID=>MC_FC_CALL_REPORT,
CL_GUI_ALV_GRID=>MC_FC_CALL_XINT,
CL_GUI_ALV_GRID=>MC_FC_CALL_XXL,
CL_GUI_ALV_GRID=>MC_FC_COL_INVISIBLE,
CL_GUI_ALV_GRID=>MC_FC_COL_OPTIMIZE,
CL_GUI_ALV_GRID=>MC_FC_CURRENT_VARIANT, "레이아웃 변경
CL_GUI_ALV_GRID=>MC_FC_DATA_SAVE,
CL_GUI_ALV_GRID=>MC_FC_DELETE_FILTER,
CL_GUI_ALV_GRID=>MC_FC_DESELECT_ALL,
CL_GUI_ALV_GRID=>MC_FC_DETAIL,
CL_GUI_ALV_GRID=>MC_FC_EXPCRDATA,
CL_GUI_ALV_GRID=>MC_FC_EXPCRDESIG,
CL_GUI_ALV_GRID=>MC_FC_EXPCRTEMPL,
CL_GUI_ALV_GRID=>MC_FC_HTML,
CL_GUI_ALV_GRID=>MC_FC_URL_COPY_TO_CLIPBOARD,
CL_GUI_ALV_GRID=>MC_FC_EXPMDB,
CL_GUI_ALV_GRID=>MC_FC_EXTEND,
CL_GUI_ALV_GRID=>MC_FC_F4,
CL_GUI_ALV_GRID=>MC_FC_FILTER,
CL_GUI_ALV_GRID=>MC_FC_FIND,
CL_GUI_ALV_GRID=>MC_FC_FIX_COLUMNS,
CL_GUI_ALV_GRID=>MC_FC_GRAPH,
CL_GUI_ALV_GRID=>MC_FC_HELP,
CL_GUI_ALV_GRID=>MC_FC_INFO, " !: INFO
CL_GUI_ALV_GRID=>MC_FC_LOAD_VARIANT,
CL_GUI_ALV_GRID=>MC_FC_LOC_COPY, " 행 카피.
CL_GUI_ALV_GRID=>MC_FC_HTML,
CL_GUI_ALV_GRID=>MC_FC_LOC_COPY_ROW, " 행 카피.
CL_GUI_ALV_GRID=>MC_FC_LOC_CUT, " 가위.
CL_GUI_ALV_GRID=>MC_FC_LOC_DELETE_ROW, " 행삭제.
CL_GUI_ALV_GRID=>MC_FC_LOC_INSERT_ROW, " 행삽입.
CL_GUI_ALV_GRID=>MC_FC_LOC_MOVE_ROW,
CL_GUI_ALV_GRID=>MC_FC_LOC_APPEND_ROW, " 라인생성.
CL_GUI_ALV_GRID=>MC_FC_LOC_PASTE, " 겹쳐쓰기.
CL_GUI_ALV_GRID=>MC_FC_LOC_PASTE_NEW_ROW, " 겹쳐쓰기.
CL_GUI_ALV_GRID=>MC_FC_MAINTAIN_VARIANT,
CL_GUI_ALV_GRID=>MC_FC_MAXIMUM,
CL_GUI_ALV_GRID=>MC_FC_MINIMUM,
CL_GUI_ALV_GRID=>MC_FC_PC_FILE,
CL_GUI_ALV_GRID=>MC_FC_CALL_XML_EXPORT,
CL_GUI_ALV_GRID=>MC_FC_PRINT,
CL_GUI_ALV_GRID=>MC_FC_PRINT_BACK,
CL_GUI_ALV_GRID=>MC_FC_PRINT_PREV,
CL_GUI_ALV_GRID=>MC_FC_REFRESH, " REFRESH
CL_GUI_ALV_GRID=>MC_FC_REPREP,
CL_GUI_ALV_GRID=>MC_FC_SAVE_VARIANT,
CL_GUI_ALV_GRID=>MC_FC_SELECT_ALL,
CL_GUI_ALV_GRID=>MC_FC_SEND,
CL_GUI_ALV_GRID=>MC_FC_SEPARATOR,
CL_GUI_ALV_GRID=>MC_FC_SORT,
CL_GUI_ALV_GRID=>MC_FC_SORT_ASC,
CL_GUI_ALV_GRID=>MC_FC_SORT_DSC,
CL_GUI_ALV_GRID=>MC_FC_SUM, "SUM
CL_GUI_ALV_GRID=>MC_FC_SUBTOT, "SUB SUM
CL_GUI_ALV_GRID=>MC_MB_SUM,
CL_GUI_ALV_GRID=>MC_FC_SUM,
CL_GUI_ALV_GRID=>MC_MB_EXPORT, "EXPORT
CL_GUI_ALV_GRID=>MC_FC_TO_OFFICE,
CL_GUI_ALV_GRID=>MC_FC_TO_REP_TREE,
CL_GUI_ALV_GRID=>MC_FC_UNFIX_COLUMNS,
CL_GUI_ALV_GRID=>MC_FC_VIEWS,
CL_GUI_ALV_GRID=>MC_FC_VIEW_CRYSTAL,
CL_GUI_ALV_GRID=>MC_FC_VIEW_EXCEL,
CL_GUI_ALV_GRID=>MC_FC_VIEW_GRID,
CL_GUI_ALV_GRID=>MC_FC_WORD_PROCESSOR.
* USING :
* cl_gui_alv_grid=>mc_fc_loc_copy, " 행 카피.
* cl_gui_alv_grid=>mc_fc_html,
* cl_gui_alv_grid=>mc_fc_loc_copy_row, " 행 카피.
* cl_gui_alv_grid=>mc_fc_loc_cut, " 가위.
* cl_gui_alv_grid=>mc_fc_loc_delete_row, " 행삭제.
* cl_gui_alv_grid=>mc_fc_loc_insert_row, " 행삽입.
* cl_gui_alv_grid=>mc_fc_loc_move_row,
* cl_gui_alv_grid=>mc_fc_loc_append_row, " 라인생성.
* cl_gui_alv_grid=>mc_fc_loc_paste, " 겹쳐쓰기.
* cl_gui_alv_grid=>mc_fc_loc_paste_new_row. " 겹쳐쓰기.
ENDFORM. " EXCLUDE_TOOLBAR_MAIN
'ERP-SAP > ABAP' 카테고리의 다른 글
<ABAP> SAP standard menu bar에 리스트 추가 작업 파일 (add custom help menu) (0) | 2013.05.09 |
---|---|
<ABAP> reuse alv Fieldcat 구성시 주의할 점 (1) | 2013.01.21 |
<ABAP> Call Transaction 시에 새창으로 띄우는 방법 (0) | 2013.01.04 |
<ABAP> Selection Screen 에 Sign , Option 같이 주기. (0) | 2012.12.21 |
<ABAP> Source 찾기, 특정 문자 개발코드에서 찾기, Source 코드 찾기 (0) | 2012.11.14 |