300x250
728x90

# 시작하기 전 


# 사이트 돌아다니면서 WebGUI를 사용하거나, 기본 GUI를 사용할 때 Excel 양식을 다운로드할 경우가 생길 수 있다. 

 

# T-CODE : SWM0를 통해서 엑셀 양식을 다운로드할 때...

2023.04.23 - [.ABAP/..Excel, EMail] - SAP Web Repository( 웹 저장소 ) 정리( 로직, 저장, 덮어쓰기 )

 

SAP Web Repository( 웹 저장소 ) 정리( 로직, 저장, 덮어쓰기 )

# Web Repository란gif, png, html, xlsx 등 SAP 서버에 올리고 관리할 수 있게 해주는 저장소이다.다른 사용자와 공유도 할 수 있다는 점 등등.. SAP Web Repository( 웹 저장소 ) 사용법 시작해 보자. 우선 파일

potato98.tistory.com

 

 

# 기본 GUI에서는 엑셀 양식 다운로드가 잘 되지만, WEB GUI에서는 안 되는 경우가 빈번하다. 

 

사실 이 방법이 최선의 방법은 아니지만, WEB GUI에서 여러 로직을 짜본 결과 이 방법이 나온 것이다. 

 

 

바로 시작해 보자.!! 

 

 

# CALL FUNCTION 생성


# 01. 여기서는 CALL FUNCTION을 통해서 엑셀 양식을 다운로드할 것이다. 

 

# IMPORT

# IMPORT 말곤 없으니 참고바람 

 

# 02. 다음과 같은 로직이다. 

  DATA:
    LS_KEY    TYPE WWWDATATAB,

    LV_TITLE  TYPE STRING,
    LV_EXT    TYPE STRING,
    LV_FNAME  TYPE STRING,

    LV_FILE   TYPE STRING,
    LV_PATH   TYPE STRING,
    LV_Fupath TYPE STRING.


  SELECT SINGLE *
    FROM WWWDATA
    INTO CORRESPONDING FIELDS OF @LS_KEY
    WHERE OBJID EQ @I_OBJID.

  IF SY-SUBRC EQ 0.

    LV_title = I_TITLE.  " 타이틀 " 
    LV_EXT = 'xlsx'.     " 기본 템플릿 "
    LV_FNAME = I_FNAME.  " 파일 명 "


    CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
      EXPORTING
        WINDOW_TITLE      = LV_TITLE   " 타이틀 "
        DEFAULT_EXTENSION = LV_EXT     " 기본 템플릿 ex) xlsx, xls, doc 등등 "
        DEFAULT_FILE_NAME = LV_FNAME   " 파일 명 "
      CHANGING
        FILENAME          = LV_FILE    " 파일 명 " 
        PATH              = LV_PATH    " 폴더 경로 "
        FULLPATH          = LV_Fupath. " 파일 경로 "

    IF LV_Fupath IS NOT INITIAL.

      DATA: LV_DEST  TYPE LOCALFILE.

      LV_DEST = LV_Fupath.         " Call function이기 때문에 타입을 맞춰서 보내야한다. " 

      CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'
        EXPORTING
          KEY         = LS_KEY
          DESTINATION = LV_DEST.
    ENDIF.
  ELSE.

    MESSAGE '액셀 양식이 존재하지 않습니다.' TYPE 'E'.
    RETURN.

  ENDIF.

 

# 03. 그리고 CALL FUNCTION을 불러올 때에는 다음과 같이 불러오면 된다. 

  CALL FUNCTION 'ZHFI_DOWN_WEB_OBJECT'
    EXPORTING
      I_OBJID = 'ZGJ_POTATO_CR' " SAP WWW 게이트웨이 오브젝트 이름(SMW0) "
      I_TITLE = '감자 대량생성' " 양식 타이틀 "
      I_FNAME = '감자 대량생성' " 파일 명 "
    .

 

# 04. 실행을 시켜보면 다운로드가 잘 된다! 

 

 

 

 

도움이 되셨으면 하단에 있는 광고 한번씩 눌러주세유!!

728x90