템플릿을 다운받아보자!
각 의미하는 건 나중에 다시 정리가 필요!
T-CODE : SMW0 에서 양식을 등록해야한다.
💡 OBJ. NAME 은 해당 양식을 가져올때 사용해야하므로 센스껏 짓는다.
등록까지 완료되었다면 다시 로직을 작성하러 돌아간다.
Excel Template 정보를 가져오는 부분
DATA : lv_filename TYPE string, lv_name TYPE string, lv_path TYPE string, lv_fullpath TYPE string, lv_user_action TYPE i, ls_key TYPE wwwdatatab, lv_langu TYPE laiso. * EXCEL Template 정보를 가져옴 SELECT SINGLE f~relid f~objid f~checkout f~checknew f~chname f~tdate f~ttime f~text p~devclass INTO CORRESPONDING FIELDS OF ls_key FROM wwwdata AS f JOIN tadir AS p ON f~objid EQ p~obj_name WHERE f~srtf2 EQ 0 AND f~relid EQ 'MI' AND p~pgmid EQ 'R3TR' AND p~object EQ 'W3MI' AND p~obj_name EQ pv_form. IF sy-subrc <> 0. MESSAGE s000 WITH TEXT-e01 DISPLAY LIKE 'E'. EXIT. ENDIF. CONCATENATE pv_name '.xlsx' INTO lv_name. * 저장경로를 설정하는 곳 CALL METHOD cl_gui_frontend_services=>file_save_dialog EXPORTING * window_title = default_extension = 'XLSX' default_file_name = lv_name * with_encoding = * file_filter = * initial_directory = * prompt_on_overwrite = 'X' CHANGING filename = lv_filename path = lv_path fullpath = lv_fullpath user_action = lv_user_action * file_encoding = EXCEPTIONS cntl_error = 1 error_no_gui = 2 not_supported_by_gui = 3 invalid_default_file_name = 4 OTHERS = 5. IF lv_user_action = cl_gui_frontend_services=>action_cancel. EXIT. ENDIF. CALL FUNCTION 'DOWNLOAD_WEB_OBJECT' EXPORTING key = ls_key destination = CONV localfile( lv_fullpath ). CALL METHOD cl_gui_frontend_services=>execute EXPORTING document = lv_fullpath EXCEPTIONS cntl_error = 1 error_no_gui = 2 bad_parameter = 3 file_not_found = 4 path_not_found = 5 file_extension_unknown = 6 error_execute_failed = 7 synchronous_failed = 8 not_supported_by_gui = 9 OTHERS = 10.