* 셀 서식 및 색상 등 엑셀 원본 그대로 다운로드 가능.
Tcode - SMW0 에서 엑셀 데이터를 등록한후에 사용.
이진수로 등록.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
Top.
"EXCEL DOWN.
TYPE-POOLS : OLE2,ICON.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
Main.
AT SELECTION-SCREEN.
CASE sscrfields-ucomm.
WHEN 'FC01'.
PERFORM TEMPLETDOWNLOAD USING sy-repid.
ENDCASE.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
Perform.
FORM templetdownload USING l_srtfd.
DATA: ls_wwwdata_item LIKE wwwdatatab,
l_temp_file LIKE w3file-name VALUE '~wwwtmp',
l_filename LIKE w3file-name,
l_rc TYPE i,
l_relid TYPE w3_relid VALUE 'MI',
l_objid TYPE w3objid,
gv_file LIKE rlgrap-filename, " FILE NAME
gv_file1 TYPE string , "
gv_file2 TYPE string,
gv_file3 TYPE string.
CLEAR l_objid.
CALL FUNCTION 'ZPBFIF2030'
EXPORTING
i_filter = ''
i_title = ''
i_def_path = ''
IMPORTING
e_filename = gv_file2
e_path = gv_file1
e_fullpath = gv_file3.
IF gv_file3 IS NOT INITIAL.
gv_file = gv_file3.
l_objid = l_srtfd.
SELECT SINGLE *
INTO CORRESPONDING FIELDS OF ls_wwwdata_item
FROM wwwdata
WHERE relid = l_relid
AND objid = l_objid.
CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'
EXPORTING
key = ls_wwwdata_item
destination = gv_file
CHANGING
temp = l_temp_file.
l_filename = l_temp_file.
SHIFT l_temp_file RIGHT.
l_temp_file(1) = '"'.
CONCATENATE l_temp_file '"' INTO l_temp_file.
CALL FUNCTION 'WS_EXECUTE'
EXPORTING
commandline = l_temp_file
program = 'EXCEL'
EXCEPTIONS
frontend_error = 1
no_batch = 2
prog_not_found = 3
illegal_option = 4
gui_refuse_execute = 5
OTHERS = 6.
ENDIF.
ENDFORM. " TEMPLETDOWNLOAD
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
Function.
FUNCTION ZPBFIF2030.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" REFERENCE(I_FILTER)
*" REFERENCE(I_TITLE)
*" REFERENCE(I_DEF_PATH)
*" EXPORTING
*" REFERENCE(E_FILENAME)
*" REFERENCE(E_PATH)
*" REFERENCE(E_FULLPATH)
*"----------------------------------------------------------------------
DATA : L_DEF_PATH TYPE STRING,
L_RC TYPE I,
L_MASK TYPE STRING,
L_TITLE TYPE STRING,
L_TITLE1 TYPE STRING,
L_FILES TYPE FILETABLE.
*... set filter
IF I_FILTER IS INITIAL.
* MOVE : 'Excel-Sheet (*.xls)|*.xls|*.*|*.*||' TO L_MASK.
MOVE : 'Excel-Sheet (*.xlsx)|*.xlsx|*.*|*.*||' TO L_MASK.
ELSE.
MOVE : I_FILTER TO L_MASK.
ENDIF.
*... set default path
IF I_DEF_PATH IS INITIAL.
MOVE : 'FILE' TO L_DEF_PATH.
ELSE.
MOVE : I_DEF_PATH TO L_DEF_PATH.
ENDIF.
*... set title
IF I_TITLE IS INITIAL.
* MOVE : '*.xls'TO L_TITLE.
MOVE : '*.xlsx'TO L_TITLE.
ELSE.
MOVE : I_TITLE TO L_TITLE.
ENDIF.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
EXPORTING
WINDOW_TITLE = L_TITLE1
DEFAULT_EXTENSION = L_TITLE
DEFAULT_FILE_NAME = L_DEF_PATH
FILE_FILTER = L_MASK
CHANGING
FILENAME = E_FILENAME
PATH = E_PATH
FULLPATH = E_FULLPATH
EXCEPTIONS
CNTL_ERROR = 1
ERROR_NO_GUI = 2
NOT_SUPPORTED_BY_GUI = 3
OTHERS = 4.
ENDFUNCTION.
'Abap' 카테고리의 다른 글
[Abap-Report] 숫자 사이에 쓸데없는 ',' 등 삭제 (0) | 2013.09.02 |
---|---|
[ABAP-Event] Batch Job 생성 (0) | 2013.09.01 |
[Edit] Se16n 에서 수정이 안될시 (0) | 2013.08.27 |
[Event] 이벤트후 강제 PBO-PAI 이벤트 태우기 (0) | 2013.08.26 |
[ALV-Event] 강제 PAI -> PBO 를 수행 (0) | 2013.08.26 |