Текущее время: Ср, июл 23 2025, 22:16

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Отправка отформатированного Excel документа по почте и сохранение его на локальном компьютере
СообщениеДобавлено: Ср, апр 11 2012, 08:27 
Начинающий
Начинающий

Зарегистрирован:
Ср, апр 11 2012, 07:44
Сообщения: 4
Пол: Мужской
Создал и отправил отформатированный Excel документ по почте по данному примеру
http://wiki.sdn.sap.com/wiki/display/Snippets/Formatted+Excel+as+Email+Attachment


Возникла проблема с сохранением данного Excel файла на локальной машине если письмо не отправлено или не дошло до получателя.

Файл сохраняется некорректно. Пишет, что у меня ошибка в тегах, хотя в письме открывается нормально.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Отправка отформатированного Excel документа по почте и сохранение его на локальном компьютере
СообщениеДобавлено: Ср, апр 11 2012, 10:04 
Начинающий
Начинающий

Зарегистрирован:
Ср, апр 11 2012, 07:44
Сообщения: 4
Пол: Мужской
Не могу понять как нормально сохранить фаил вложенный в письмо на машину.

Фаил Excel храниться у меня в таблице l_xml_table.
Code:
TYPES: BEGIN OF xml_line,
        data(255) TYPE x,
END OF xml_line.

DATA: l_xml_table       TYPE TABLE OF xml_line.


В случае отсутствия электронного адреса я сохраняю Таблицу XML(Excel файл) на машину отправителя.

Перед тем как сохранять делаю преобразование из SOLIXTAB в SOLI_TAB
Code:
CALL FUNCTION 'SO_SOLIXTAB_TO_SOLITAB'
    EXPORTING
      ip_solixtab = l_xml_table
    IMPORTING
      ep_solitab  = object_content.

Потом из преобразованной таблицы собираю все в одну строку и записываю в таблицу lt_data.
Code:
  CLEAR l_buffer.
  LOOP AT object_content ASSIGNING <obj>.
    IF l_buffer IS INITIAL.
      l_buffer = <obj>-line.
    ELSE.
      CONCATENATE l_buffer <obj>-line INTO l_buffer.
    ENDIF.
  ENDLOOP.
  APPEND l_buffer TO lt_data.


Сохраняю файл с помощью данного метода
Code:
CONCATENATE file 'zayv_' nast-objky '.xls' INTO file.

cl_gui_frontend_services=>gui_download(
    EXPORTING
      filename                  = file
      filetype                  = 'ASC'
    CHANGING
      data_tab                  = lt_data
    EXCEPTIONS
      file_write_error          = 1
      no_batch                  = 2
      gui_refuse_filetransfer   = 3
      invalid_type              = 4
      no_authority              = 5
      unknown_error             = 6
      header_not_allowed        = 7
      separator_not_allowed     = 8
      filesize_not_allowed      = 9
      header_too_long           = 10
      dp_error_create           = 11
      dp_error_send             = 12
      dp_error_write            = 13
      unknown_dp_error          = 14
      access_denied             = 15
      dp_out_of_memory          = 16
      disk_full                 = 17
      dp_timeout                = 18
      file_not_found            = 19
      dataprovider_exception    = 20
      control_flush_error       = 21
      not_supported_by_gui      = 22
      error_no_gui              = 23
      OTHERS                    = 24
        ).

Файл создается и сохраняется в папку, но открывать его Excel не хочет. Пишет, что ошибка в тегах.
Если же не собирать все в одну строку и передать в метод cl_gui_frontend_services=>gui_download таблицу object_content файл сохранится и запускаться тоже не будет. Но открыв его блокнотом и собрав все записи в одну строку я смог запустить его нормально.

Не могу понять почему когда я все соединяю через ABAP в одну строку Excel при открытии ругается на ошибку в тегах, но в тоже время не ругается, когда я соединяю все вручную через блокнот.

Может кто-то знает в чем может быть причина?
Или может есть возможность как-то по другому сохранить этот файл на машину отправителя?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Отправка отформатированного Excel документа по почте и сохранение его на локальном компьютере  Тема решена
СообщениеДобавлено: Ср, апр 18 2012, 12:45 
Начинающий
Начинающий

Зарегистрирован:
Ср, апр 11 2012, 07:44
Сообщения: 4
Пол: Мужской
Проблему решил!

Надо было указать в параметрах метода cl_gui_frontend_services=>gui_download
filetype = 'BIN' и передать в data_tab таблицу l_xml_table.


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

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


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

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


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

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