UPLOAD_FILES - Загрузка данных из фалов во внутреннюю таблицу

Автор Uukrul, Жовтень 23, 2008, 05:03:47 ПП

Попередня тема - Наступна тема

0 Користувачі і 1 Гість дивляться цю тему.

Uukrul

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 - Прочитанные данные. Где начинается один файл и заканчивается другой понять нельзя, все идет общим списком.

SMF spam blocked by CleanTalk