Автор Тема: UPLOAD_FILES - Загрузка данных из фалов во внутреннюю таблицу  (Прочитано 5393 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 761
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
UPLOAD_FILES - Загрузка данных из фалов во внутреннюю таблицу. Что хорошо загружать данные можно как из одного файла так и из нескольких. Фактически это обертка для ФМ WS_UPLOAD, если файлы требуется грузить с сервера презентаций, а вот что полезного в этой функции, так это то что можно загружать данные из файлов лежащих на сервере SAP, через OPEN DATASET. Ниже пример для списка файлов с локальной станции. Пример загруженных значений на рисунке ниже.
Код: You are not allowed to view links. Register or Login
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. Для локальной станции типы файлов могут быть следующими:
Код: You are not allowed to view links. Register or Login
  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 - Прочитанные данные. Где начинается один файл и заканчивается другой понять нельзя, все идет общим списком.