아밥입문 2개월째입니다.
당장 유지보수를 해야하는데 막막하네요..ㅜㅜ
함수 ws_upload 이용해서 파일 업로드 프로그램을 구성중입니다.
tab(탭)으로 구분된 .txt화일은 문제없이 테스트 되는데요..
1) 구분자가 ,(콤마)로 된 txt화일 업로드는 어떻게 해야하는지..
2) 혹은 .csv화일 업로드는 어떻게 해야하는지
구분자 옵션 혹은 데이터 컨버젼 함수등을 이용해서 처리해야하는지.고수님들의 도움 부탁드립니다.
적절한 예제를 통한 설명 부탁드려요...
감사합니다.
댓글 4
-
엉큼고냥이
2008.07.10 23:00
-
엉큼고냥이
2008.07.10 23:13
엑셀데이터를 CBO테이블에 저장을 한다면 간단하게 이렇게도 할수있습니다
data : g_file like rlgrap-filename value 'C:'. 기본경로명 표시
data : it_data "인터널테이블선언
call function 'UPLOAD'
exporting
filename = g_file
filetype = 'DAT'
tables
data_tab = it_data
exceptions
conversion_error = 1
invalid_table_width = 2
invalid_type = 3
no_batch = 4
unknown_error = 5
gui_refuse_filetransfer = 6.
if sy-subrc = 0.
loop it_data.
table-필드1 = it_data-data1.
table-필드2 = it_data-data2.
table-필드3 = it_data-data3.
.
.
.
modify table명.
endloop.
endif.
-
activeman
2008.07.11 04:42
ECC6.0버전에서는 ws_upload 사용을 권장하지 않습니다.
버전이 ECC6.0이시라면 gui_upload를 사용하십시요..
즐밥하세요..
-
강컨
2008.07.21 20:36
감사합니다. 말씀하신 GUI_UPLOAD를 통해 아래와 같이 해결했습니다.
CALL METHOD cl_gui_frontend_services=>gui_upload
EXPORTING
filename = lp_file
filetype = 'ASC'
has_field_separator = 'X'
* HEADER_LENGTH = 'X'
* READ_BY_LINE = 'X'
* dat_mode = 'X'
* codepage = '8500'
* IGNORE_CERR = ABAP_TRUE
* REPLACEMENT = '#'
* VIRUS_SCAN_PROFILE =
* IMPORTING
* FILELENGTH =
* HEADER =
CHANGING
data_tab = record[]
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
not_supported_by_gui = 17
error_no_gui = 18
OTHERS = 19.
CSV파일이 쉼표고 구분된 엑셀파일이면 SAP에 올리시려면 탭으로 구분된 TXT파일로 만드셔야될꺼에요