среда, 9 апреля 2014 г.

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


Одна ячейка в EXCEL-таблице соответствует одному полю во внутренней таблице.
Допустим есть EXCEL-таблица













Перенесем ее в нашу внутреннюю таблицу SAP.

*&---------------------------------------------------------------------*
*& Report  ZDOWNLOAD_ME41
*&
*&---------------------------------------------------------------------*
report  zdownload_me41.
"структура соответствует загружаемому файлу из EXCEL <<<
typesbegin of ta_excel,
   
        txz01 type ekpo-txz01,
           anmng 
type rm06e-anmng,
           meins 
type ekpo-meins,
         
end of ta_excel,
">>>
        tt_excel 
type standard table of ta_excel.
data:  excel_tab type tt_excel.
parametersfilename like  rlgrap-filename obligatory.
"Событие - обработка F4 для имени файла
at selection-screen on value-request for filename.

  
"Запрос имени файла
  
call function 'WS_FILENAME_GET'
    
exporting
      def_filename     
' '
      
mask             ',*.xls,*.xls.'
      
mode             'O'
      
title            'Выбор файла'
    
importing
      filename         
filename
    exceptions
      inv_winsys       
01
      no_batch         
02
      selection_cancel 
03
      selection_error  
04.
start-of-selection.
*собственно сама загрузка excel файл во внутр.таблицу
  
perform select_from_excel.
*&---------------------------------------------------------------------*
*&      Form  SELECT_FROM_EXCEL
*&---------------------------------------------------------------------*
*       Данные из EXCEL в табл.
*----------------------------------------------------------------------*
form select_from_excel .
  
datalt_raw          type truxs_t_text_data.

  
call function 'TEXT_CONVERT_XLS_TO_SAP'
    
exporting
*     I_FIELD_SEPERATOR    =
*     I_LINE_HEADER        =
      i_tab_raw_data       
lt_raw
      i_filename           
filename
    
tables
      i_tab_converted_data 
excel_tab
    
exceptions
      conversion_failed    
1
      
others               2.
  
if sy-subrc <> 0.
    
message 'Ошибка загрузки данных из файлаtype 'E'.
  endif.
endform.                    " SELECT_FROM_EXCEL

Результат данных манипуляций

Комментариев нет:

Отправить комментарий