T-Code : SMW0 를 이용하여 Template 를 다운로드 하는 방법
- T-Code : SMW0
- WebRFC 어플리케이션 이진 데이터 선택 후 찾기(F8)
- 알맞은 패키지 및 이름 혹은 내역을 입력 후 실행
- 생성 및 수정 삭제.
프로그램에서의 활용
PERFORM문으로 따로 프로그램마다 설정할 수 있으나 범용성을 가지기 위해 펑션으로 생성
I_OBJID 에 위에 생성한 Obj. name을 넣어주면 파일 다운로드 할 수 있음
FUNCTION ZCOM_SHOW_SMW0_FILE.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" REFERENCE(I_OBJID) TYPE WWWDATA-OBJID
*" EXPORTING
*" REFERENCE(ES_RETURN) TYPE BAPIRET2
*"----------------------------------------------------------------------
DATA : LS_WWWDATA_ITEM TYPE WWWDATATAB. "DATA TABLE
DATA : LT_MIME LIKE W3MIME OCCURS 100 WITH HEADER LINE.
DATA : LV_FILENAME TYPE STRING,
LV_PATH TYPE STRING,
LV_FULLPATH TYPE STRING,
LV_FILESIZE(10),
LV_SIZE TYPE I.
DATA : LV_DEFAULT_EXTENSION TYPE STRING.
*-- Check File ID
SELECT SINGLE *
FROM WWWDATA
INTO CORRESPONDING FIELDS OF LS_WWWDATA_ITEM
WHERE OBJID = I_OBJID.
IF SY-SUBRC NE 0.
ES_RETURN-TYPE = CO_E.
ES_RETURN-MESSAGE = TEXT-E01.
EXIT.
ENDIF.
*-- Import Web Objects
CALL FUNCTION 'WWWDATA_IMPORT'
EXPORTING
KEY = LS_WWWDATA_ITEM
TABLES
MIME = LT_MIME
EXCEPTIONS
WRONG_OBJECT_TYPE = 1
IMPORT_ERROR = 2
OTHERS = 3.
*-- Read a Parameter from Table WWWPARAMS
CALL FUNCTION 'WWWPARAMS_READ'
EXPORTING
RELID = LS_WWWDATA_ITEM-RELID
OBJID = LS_WWWDATA_ITEM-OBJID
NAME = 'filesize'
IMPORTING
VALUE = LV_FILESIZE.
SELECT SINGLE VALUE
INTO LV_DEFAULT_EXTENSION
FROM WWWPARAMS
WHERE RELID EQ LS_WWWDATA_ITEM-RELID
AND OBJID EQ LS_WWWDATA_ITEM-OBJID
AND NAME EQ 'fileextension'.
IF SY-SUBRC EQ 0.
REPLACE ALL OCCURRENCES OF '.' IN LV_DEFAULT_EXTENSION WITH ''.
CONDENSE LV_DEFAULT_EXTENSION NO-GAPS.
ELSE.
LV_DEFAULT_EXTENSION = 'XLSX'.
ENDIF.
*-- Shows a File Save Dialog
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
EXPORTING
DEFAULT_EXTENSION = LV_DEFAULT_EXTENSION
CHANGING
FILENAME = LV_FILENAME
PATH = LV_PATH
FULLPATH = LV_FULLPATH.
LV_SIZE = LV_FILESIZE.
*-- Download an Internal Table to the PC
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = LV_FULLPATH
FILETYPE = 'BIN'
BIN_FILESIZE = LV_SIZE
TABLES
DATA_TAB = LT_MIME.
*-- Download 파일 Excel 실행
CALL FUNCTION 'WS_EXECUTE'
EXPORTING
COMMANDLINE = LV_FULLPATH
PROGRAM = 'EXCEL.EXE'.
ENDFUNCTION.
'SAP > ABAP' 카테고리의 다른 글
스크린에서 버튼을 tree 처럼 만들기 (0) | 2014.08.26 |
---|---|
ALV DISPLAY화면에 SCREEN 1000 넣기 (0) | 2014.08.25 |
= '' 와 = ' '가 같다? (0) | 2010.07.19 |
message 띄우기.. (0) | 2010.07.19 |
테이블 Lock걸렸을때 (0) | 2010.07.19 |