반응형
다들 새해 복 많이 받으세요~
오늘은 "GUI_DOWNLOAD" Function에 대해서 포스팅해보겠습니다.
기능 설명
Internal Table의 데이터를 로컬 파일로 저장하는 기능을 제공하는 모듈입니다. 주로 기본 텍스트 데이터를 다운로드 할 때 사용되며, 이후 GUI_DOWNLOAD 모듈이 확장된 기능을 제공함에 따라 기존 DOWNLOAD 모듈은 구형 모듈로 간주됩니다. 해당 function를 통해 SAP GUI에 있는 데이터를 텍스트 파일이나 엑셀 파일로 변환하여 로컬 파일로 저장할 수 있습니다.
Signature
DATA: gt_sflight TYPE TABLE OF sflight,
gv_filename TYPE string,
lt_fieldnames TYPE TABLE OF string.
START-OF-SELECTION.
#//Internal Table를 만들기 위한 SQL Statement"
SELECT * FROM sflight INTO TABLE gt_sflight UP TO 30 ROWS.
#//다운로드할 파일 이름 설정"
gv_filename = 'C:\Users\조상현\Desktop\3학년 2학기\flight_data1.txt'.
#1, ASC Type의 방식 Download
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = gv_filename #다운로드 할 파일의 경로
filetype = 'ASC' #다운로드 할 File의 Type를 결정 ASC / BIN
append = ’X’ #다운로드 경로에 동일한 파일이 있을 경우 데이터를 추가할 때 뒤이어서 넣을지 overwrite할 지 결정
write_field_separator = ’X’ #구분선 여부를 결정
TABLES
data_tab = gt_sflight. #다운로드할 Internal Table
#2, BIN(Binary) Type의 방식 Download
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
#BIN Type의 경우 그 파일의 크기를 지정해줄 수 있다.
bin_filesize = 300
filename = gv_filename
filetype = 'BIN'
append = ' '
WRITE_FIELD_SEPARATOR = ''
header = '00'
TABLES
data_tab = gt_sflight.
IF sy-subrc <> 0.
WRITE: / 'Error by:', sy-subrc.
ELSE.
WRITE: / 'download success.'.
ENDIF.
실행 결과
문자가 깨져 보이는 이유는 인코딩 방식이 다르기 때문에 보이는 형식이 다른 것 입니다.
실제 데이터는 위 ASC Type의 데이터와 동일합니다.
다음 포스팅에서 소개되는 GUI_UPLOAD에서 확인 할 수 있습니다.
주의 사항
- Filetype에 ASC와 BIN 타입을 제외한 다른 타입을 입력해서는 안됩니다. 해당 Function에서 지원하는 Type은 ASCII와 BINARY 두 가지 Type만 있기 때문입니다.
- 다운로드 받는 파일의 확장자는 .xls, .txt 등 여러 형태로 다운 받을 수 있습니다.
- BIN과 ASC에서 사용할 수 있는 importing 파라미터가 달라서 각 형태에 해당하는 추가적인 파라미터를 이용할 때, 각 타입에 맞는 파라미터를 사용해야 한다.
- BIN type의 경우 00으로 하는 것보다 01로 하면 파일이 정갈하게 보입니다.
반응형
'ABAP Standard Function' 카테고리의 다른 글
[ABAP] POPUP_TO_CONFIRM / POPUP창 출력하여 반환 값 받기 (1) | 2025.01.06 |
---|---|
[ABAP] GUI_UPLOAD / 로컬 파일을 서버에 업로드 하기 (1) | 2025.01.03 |
[ABAP] GRAPH_MATRIX_3D / 3D 그래프 함수 (0) | 2024.12.30 |
[ABAP] GET_WEEK_INFO_BASED_ON_DATE / 해당 날의 주차와 월요일, 일요일 산출 (0) | 2024.12.27 |
[ABAP] FIMA_DAYS_AND_MONTHS_AND_YEARS / 연, 월, 일 수 기간 계산 (0) | 2024.12.26 |