300x250
728x90
# 시작하기 전
# 사이트 돌아다니면서 WebGUI를 사용하거나, 기본 GUI를 사용할 때 Excel 양식을 다운로드할 경우가 생길 수 있다.
# T-CODE : SWM0를 통해서 엑셀 양식을 다운로드할 때...
2023.04.23 - [.ABAP/..Excel, EMail] - SAP Web Repository( 웹 저장소 ) 정리( 로직, 저장, 덮어쓰기 )
# 기본 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
'.ABAP > ..Excel, EMail' 카테고리의 다른 글
SAP Excel Marco 확인 방법 (0) | 2025.01.15 |
---|---|
SAP Excel Upload( ABAP2XLSX용 ) (14) | 2024.11.14 |
SAP E-Mail(이메일) 발송 ( EXCEL, PDF 첨부파일 ) (0) | 2024.11.12 |
SAP 타임스태프( 엑셀 -> SAP ) 변경 (1) | 2024.11.09 |
SAP ABAP2XLSX 설치( ABAPGIT ) (2) | 2024.09.04 |