UPLOAD_FILES - Загрузка данных из фалов во внутреннюю таблицу. Что хорошо загружать данные можно как из одного файла так и из нескольких. Фактически это обертка для ФМ WS_UPLOAD, если файлы требуется грузить с сервера презентаций, а вот что полезного в этой функции, так это то что можно загружать данные из файлов лежащих на сервере SAP, через OPEN DATASET. Ниже пример для списка файлов с локальной станции. Пример загруженных значений на рисунке ниже.
DATA: l_file_type LIKE rlgrap-filetype VALUE 'ASC',
lt_files LIKE rlgrap OCCURS 1 WITH HEADER LINE.
DATA: BEGIN OF lt_file_all OCCURS 10,
lines(130) TYPE c,
END OF lt_file_all.
lt_files-filename = 'C:\Config.sys'. APPEND lt_files.
lt_files-filename = 'C:\boot.ini'. APPEND lt_files.
lt_files-filename = 'C:\dev_rfc.trc'. APPEND lt_files.
CALL FUNCTION 'UPLOAD_FILES'
EXPORTING
i_trunclen = '130'
i_filetype = l_file_type
i_xpc = 'X'
* I_CODEPAGE = ' '
TABLES
file_all = lt_file_all
tab_file = lt_files
EXCEPTIONS
error_file = 1
OTHERS = 2.
i_trunclen - Максимально возможная длина строки. Вообще-то если ничего не задавать. то все равно строки длиннее 1000 символов будут обрезаны до этого магического числа 1000.
i_filetype - Тип файла данных, имеет смысл только для загрузки файлов с локальной станции, так как на сервере файлы все равно открываются как open dataset tab_file-filename for input in text mode. Для локальной станции типы файлов могут быть следующими:
case filetype.
when 'BIN' or 'DAT' or 'ASC' or 'IBM' or 'WK1' or 'DBF' or
'SPL' or 'TRU'.
when others.
raise invalid_type.
endcase.
i_xpc - Собственно флажок показывающий откуда грузить файл, если = 'X', тогда локальная станция, иначе будет пытаться грузить файлы с сервера.
tab_file - Список файлов для обработки. Полей там много, пусть к файлу и сам файл пишем в filename.
tab_file - Прочитанные данные. Где начинается один файл и заканчивается другой понять нельзя, все идет общим списком.