SAPфорум.RU https://sapboard.ru/forum/ |
|
Выгрузка XLS в фоне https://sapboard.ru/forum/viewtopic.php?f=13&t=100263 |
Страница 1 из 1 |
Автор: | MaрьЯ [ Чт, дек 22 2022, 09:35 ] |
Заголовок сообщения: | Выгрузка XLS в фоне |
Добрый день, дорогие эксперты. Возникла необходимость выгружать файл в формате XLS в фоне на сервер, в связи с чем возникли трудности: ZWWW* и ZXLWB не работают. CALL TRANSFORMATION хоть и выгружают файлы с разрешением XLS, но, если посмотреть повнимательнее на него, то он XML, EXCEL может его открыть и прекрасно с ним работать, но для выполнения задачи нужен именно XLS. Пробовала с помощью cl_salv_bs_tt_util=>if_salv_bs_tt_util~transform. Code: CALL METHOD cl_salv_bs_tt_util=>if_salv_bs_tt_util~transform EXPORTING xml_type = if_salv_bs_xml=>c_type_xlsx xml_version = lv_version r_result_data = lo_result_data xml_flavour = if_salv_bs_c_tt=>c_tt_xml_flavour_export gui_type = if_salv_bs_xml=>c_gui_type_gui IMPORTING xml = lv_xstring. CALL FUNCTION 'SCMS_XSTRING_TO_BINARY' EXPORTING buffer = lv_xstring append_to_table = ' ' IMPORTING output_length = lv_size TABLES binary_tab = lt_bintab. CALL FUNCTION 'NLS_GET_FRONTEND_CP' EXPORTING langu = sy-langu IMPORTING frontend_codepage = cpcodepage EXCEPTIONS OTHERS = 99. lv_encod = cpcodepage. CALL FUNCTION 'SCMS_BINARY_TO_STRING' EXPORTING input_length = lv_size * FIRST_LINE = 0 * LAST_LINE = 0 * MIMETYPE = ' ' encoding = lv_encod IMPORTING text_buffer = lv_xmlstr * OUTPUT_LENGTH = TABLES binary_tab = lt_bintab EXCEPTIONS failed = 1 OTHERS = 2. И после через OPEN DATASET, TRANSFER и CLOSE DATASET передаю файл. Проблема в том, что он сохраняется, но по содержанию там ерунда. В связи с этим есть вопрос: что я делаю не правильно и какие еще есть способы? |
Автор: | Кодер [ Чт, дек 22 2022, 09:43 ] |
Заголовок сообщения: | Re: Выгрузка XLS в фоне |
1) XLWB отлично формирует файлы в фоне. Просто не нужно в шаблоне использовать макросы 2) можно использовать стандартные классы CL_XLSX_* ( CL_XLSX_DOCUMENT и др.) 3) можно использовать abap2xlsx 4) можно использовать XTT Ваш вариант с salv тоже рабочий. Для начала попробуйте определить место, где у вас ошибка. При выгрузке или при формировании. Т.е. я бы сначала попробовал выгрузить сформированный файл локально. Если с ним все будет нормально - значит проблема с выгрузкой на аппсервер, иначе - нужно смотреть, что не так с формированием эксель файла |
Автор: | LKU [ Чт, дек 22 2022, 18:22 ] |
Заголовок сообщения: | Re: Выгрузка XLS в фоне |
У коллег недавно возникла такая задача. Я им нагуглил abap2xlsx, на следующий день у них уже выгрузка работала. Так что сам abap2xlsx руками не трогал, но похоже порог входа низкий. |
Автор: | Удав [ Вс, дек 25 2022, 01:23 ] |
Заголовок сообщения: | Re: Выгрузка XLS в фоне |
MaрьЯ написал(а): после через OPEN DATASET, TRANSFER и CLOSE DATASET передаю файл. Проблема в том, что он сохраняется, но по содержанию там ерунда. В связи с этим есть вопрос: что я делаю не правильно и какие еще есть способы? 1. Какая кодировка при записи файла на сервер используется? 2. Почему важен именно формат XLS? Excel прекрасно открывает файлы XML. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |