Текущее время: Чт, мар 28 2024, 17:57

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


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


ВНИМАНИЕ!

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



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

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


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

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


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

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

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

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


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

Зарегистрирован:
Пт, дек 15 2017, 10:50
Сообщения: 91
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
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Если файл в формате 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
Сообщения: 156
Посмотрите в гугле класс cl_fdt_xl_spreadsheet.
P.S. это только для XLSX.


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

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

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

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


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

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


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

Сейчас этот форум просматривают: Google [Bot]


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

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