Текущее время: Ср, июл 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 часа


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

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


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

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