본문 바로가기

SAP/ABAP

SMW0

T-Code : SMW0 를 이용하여 Template 를 다운로드 하는 방법

 

  1. T-Code : SMW0

       

  2. WebRFC 어플리케이션 이진 데이터 선택 후 찾기(F8)

       

  3. 알맞은 패키지 및 이름 혹은 내역을 입력 후 실행

       

  4. 생성 및 수정 삭제.

       

       

    프로그램에서의 활용

       

    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