Текущее время: Чт, июл 16 2020, 20:23

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Считывание даных из файла
СообщениеДобавлено: Ср, май 13 2020, 08:18 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, дек 15 2017, 10:50
Сообщения: 79
Добрый день, подскажите, пожалуйста, как можно считать данные из файла, загруженного в SMW0.
Есть excel-файл, нужно считать данные, которые содержатся на странице книги.
Что-то вроде ФМ ALSM_EXCEL_TO_INTERNAL_TABLE
Заранее спасибо!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Считывание даных из файла
СообщениеДобавлено: Ср, май 13 2020, 12:08 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1896
Откуда: КраснАдар
Пол: Мужской
Simple option for Storing an Excel template in SAP and using in your ABAP program


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Считывание даных из файла
СообщениеДобавлено: Ср, май 13 2020, 12:13 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1896
Откуда: КраснАдар
Пол: Мужской
Прошу прощения, пример неправильный. В нем только сам шаблон открывают, без работы с данными.

PS Лучше посмотреть в сторону использования ZWWW от Parazit

А так данные получить можно через ФМ WWWDATA_IMPORT, потом конвертировать через ФМ WSI_RAW_TO_STRING.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Считывание даных из файла
СообщениеДобавлено: Пт, май 15 2020, 06:33 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, дек 15 2017, 10:50
Сообщения: 79
John Doe написал:
Прошу прощения, пример неправильный. В нем только сам шаблон открывают, без работы с данными.

PS Лучше посмотреть в сторону использования ZWWW от Parazit

А так данные получить можно через ФМ WWWDATA_IMPORT, потом конвертировать через ФМ WSI_RAW_TO_STRING.


Спасибо, ZWWW для вывода днных, мне нужно считать содержимое файла, находящегося в SMW0, содержание самих ячеек.
При использовании WSI_RAW_TO_STRING у меня выходит особая ситуация CX_SY_CONVERSION_CODEPAGE, при выполнении
CALL METHOD convin->read
IMPORTING
data = output.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Считывание даных из файла
СообщениеДобавлено: Пт, май 15 2020, 10:54 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1896
Откуда: КраснАдар
Пол: Мужской
Если файл в формате XLSX, то с ним можно попробовать поработать как с XML через методы класса CL_XML_DOCUMENT.
Code:
DATA: mime      TYPE STANDARD TABLE OF w3mime WITH HEADER LINE.
DATA lv_bytelen TYPE i.
DATA lv_lines   TYPE i.
DATA lv_value_len TYPE wwwparams-value.
DATA: lo_document TYPE REF TO cl_xlsx_document.
DATA: lo_workbook       TYPE REF TO cl_xlsx_workbookpart,
      lo_wordsheetparts TYPE REF TO cl_openxml_partcollection,
      lo_wordsheetpart  TYPE REF TO cl_openxml_part,
      lo_sheet_content  TYPE xstring,
      lo_xml_document   TYPE REF TO cl_xml_document.

CONSTANTS lc_template_name TYPE w3objid VALUE 'ZJDTEST'.

START-OF-SELECTION.
  IMPORT mime FROM DATABASE wwwdata(mi) ID lc_template_name.
  DESCRIBE TABLE mime[] LINES lv_lines.

  CALL FUNCTION 'WWWPARAMS_READ'
    EXPORTING
      relid  = 'MI'
      objid  = lc_template_name
      name   = 'filesize'
    IMPORTING
      value  = lv_value_len
    EXCEPTIONS
      OTHERS = 1.

  lv_bytelen = lv_value_len.

  CALL METHOD cl_rswad_convert=>w3mime_to_xstring(
    EXPORTING
      i_bytelen = lv_bytelen
      i_t_table = mime[]
    IMPORTING
      e_xstring = DATA(lv_xstring) ).


  lo_document = cl_xlsx_document=>load_document( lv_xstring ).
  lo_workbook = lo_document->get_workbookpart( ).
  lo_wordsheetparts = lo_workbook->get_worksheetparts( ).
  lo_wordsheetpart = lo_wordsheetparts->get_part( 0 ).
  lo_sheet_content = lo_wordsheetpart->get_data( ).

  CREATE OBJECT lo_xml_document.
  lo_xml_document->parse_xstring( lo_sheet_content ).
  lo_xml_document->display( ).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Считывание даных из файла
СообщениеДобавлено: Чт, май 21 2020, 14:35 
Специалист
Специалист

Зарегистрирован:
Чт, дек 02 2010, 08:37
Сообщения: 113
Посмотрите в гугле класс cl_fdt_xl_spreadsheet.
P.S. это только для XLSX.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Считывание даных из файла
СообщениеДобавлено: Чт, май 21 2020, 14:51 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1907
Откуда: Москва
Пол: Мужской
Что за файл Excel у вас хранится в SMW0? Для чего он?

p.s.
Использовать Excel для обмена и хранения информации это принципиально неверное решение, которое принимают на многих проектах, тем самым обрекая себя на множество ненужных проблем.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB