Текущее время: Пт, апр 26 2024, 07:09

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Вызов MS OutLook из XLSX Workbench и прикрепление текущего Excel-документа
СообщениеДобавлено: Чт, апр 07 2016, 11:20 
Начинающий
Начинающий

Зарегистрирован:
Чт, мар 03 2016, 10:02
Сообщения: 9
Добрый день.
Добавил в XLSX Workbench кнопку вызова почтового клиента. Тема, адресат письма и текст добавляются успешно, однако, для прикрепления Excel-документа нашел только способ, когда файл прикрепляется с компьютера. Возможно ли как-то вытащить Excel-документ из внутренних переменных?
Код:
Code:
DATA: lr_outlook TYPE ole2_object,
*       lr_mi TYPE ole2_object,
*       lv_body TYPE string,
*       lv_sig TYPE string,
**      f_path TYPE csequence,
*       fo_attachments TYPE ole2_object.
*
*    CREATE OBJECT lr_outlook 'Outlook.Application'.
*
*    CALL METHOD OF lr_outlook 'CreateItem' = lr_mi
*      EXPORTING #1 = 0.
*
*    SET PROPERTY OF lr_mi 'To' = 'example@mail.ru'."кому
*    SET PROPERTY OF lr_mi 'Subject' = 'Тема письма'."тема
*
*    CALL METHOD OF lr_mi 'Display'.
*
*    GET PROPERTY OF lr_mi 'Body' = lv_sig.
*
**     if f_path is not initial.
*    call method of lr_mi 'ATTACHMENTS' = fo_attachments.
**    call method of fo_attachments 'ADD'
**      exporting
**        #1 = f_path.
**  endif.
*
*    "текст
*    CONCATENATE 'Текст письма' cl_abap_char_utilities=>newline
*      INTO lv_body.
*
*    CONCATENATE lv_body lv_sig  INTO lv_body.
*
*    SET PROPERTY OF lr_mi 'Body' = lv_body.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вызов MS OutLook из XLSX Workbench и прикрепление текущего Excel-документа
СообщениеДобавлено: Чт, апр 07 2016, 12:12 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1246
А зачем через оутлук отсылать? Почему не через sapoffice? Там бы и прикрепили бы.

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вызов MS OutLook из XLSX Workbench и прикрепление текущего Excel-документа
СообщениеДобавлено: Чт, апр 07 2016, 12:20 
Начинающий
Начинающий

Зарегистрирован:
Чт, мар 03 2016, 10:02
Сообщения: 9
Задача состоит в том, чтобы открывать именно этот почтовый клиент. Отправку на внутреннюю почту SAP я уже реализовал.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вызов MS OutLook из XLSX Workbench и прикрепление текущего Excel-документа
СообщениеДобавлено: Чт, апр 07 2016, 12:24 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1246
mrmurmur2 написал(а):
Задача состоит в том, чтобы открывать именно этот почтовый клиент.

Насколько я вижу, объектная модель аутлука предполагает создание аттачей только из файла или из др. item самого аутлука. передача через память не поддерживается. Но даже если бы она была, по опыту работы с аналогичным функционалом в excel, могу сказать, что с сап это нормально не дружит
mrmurmur2 написал(а):
Отправку на внутреннюю почту SAP я уже реализовал.

Я не говорю об отправке на внутреннюю почту. Я говорю об отправке из сап на внешние адреса. Это потребует доп. настройки сапофиса, но при таком подходе в оутлке нужды не будет совсем.

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вызов MS OutLook из XLSX Workbench и прикрепление текущего Excel-документа
СообщениеДобавлено: Чт, апр 07 2016, 12:28 
Почетный гуру
Почетный гуру

Зарегистрирован:
Пт, дек 04 2009, 12:52
Сообщения: 219
mrmurmur2 написал(а):
Возможно ли как-то вытащить Excel-документ из внутренних переменных?

Вы делаете это внутри callback-подпрограммы, верно? нет необходимости лезть во внутренние переменные, changing-параметр cv_rawdata как раз и содержит excel-файл.
Code:
*&---------------------------------------------------------------------*
*&      Form  CALLBACK_FORM
*&---------------------------------------------------------------------*
FORM callback_form
     USING pv_event     TYPE char50
  CHANGING cv_fcode     TYPE ui_func
           cr_toolbar   TYPE REF TO cl_gui_toolbar
           cv_rawdata   TYPE xstring .  " -->> эксель-файл

ENDFORM .                    "CALLBACK_FORM


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вызов MS OutLook из XLSX Workbench и прикрепление текущего Excel-документа
СообщениеДобавлено: Чт, апр 07 2016, 14:03 
Начинающий
Начинающий

Зарегистрирован:
Чт, мар 03 2016, 10:02
Сообщения: 9
Цитата:
Насколько я вижу, объектная модель аутлука предполагает создание аттачей только из файла или из др. item самого аутлука. передача через память не поддерживается. Но даже если бы она была, по опыту работы с аналогичным функционалом в excel, могу сказать, что с сап это нормально не дружит

А существует ли иной способ вызова аутлука, помимо OLE?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вызов MS OutLook из XLSX Workbench и прикрепление текущего Excel-документа
СообщениеДобавлено: Чт, апр 07 2016, 14:04 
Начинающий
Начинающий

Зарегистрирован:
Чт, мар 03 2016, 10:02
Сообщения: 9
Цитата:
Вы делаете это внутри callback-подпрограммы, верно? нет необходимости лезть во внутренние переменные, changing-параметр cv_rawdata как раз и содержит excel-файл.
Code:
*&---------------------------------------------------------------------*
*&      Form  CALLBACK_FORM
*&---------------------------------------------------------------------*
FORM callback_form
     USING pv_event     TYPE char50
  CHANGING cv_fcode     TYPE ui_func
           cr_toolbar   TYPE REF TO cl_gui_toolbar
           cv_rawdata   TYPE xstring .  " -->> эксель-файл

ENDFORM .                    "CALLBACK_FORM

Параметр найден, но передать его некуда, я как раз ищу метод.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вызов MS OutLook из XLSX Workbench и прикрепление текущего Excel-документа
СообщениеДобавлено: Чт, апр 07 2016, 14:28 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1246
mrmurmur2 написал(а):
А существует ли иной способ вызова аутлука, помимо OLE?

В теории, есть еще DDE. Сам не пробовал, но по рассказам - с ним история еще более печальная чем с оле.

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вызов MS OutLook из XLSX Workbench и прикрепление текущего Excel-документа
СообщениеДобавлено: Чт, апр 07 2016, 16:45 
Начинающий
Начинающий

Зарегистрирован:
Чт, мар 03 2016, 10:02
Сообщения: 9
Цитата:
Вы делаете это внутри callback-подпрограммы, верно? нет необходимости лезть во внутренние переменные, changing-параметр cv_rawdata как раз и содержит excel-файл.

А возможно в какой-то удобочитаемый формат преобразовать эту переменную?
Code:
CALL METHOD r_excelole->r_docproxy->save_document_to_table
      CHANGING
        document_size  = lv_document_size
        document_table = lt_document_table.

Вот тут я получаю таблицу формата solix_tab. Как её можно преобразовать, например, для сохранения в OLE?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вызов MS OutLook из XLSX Workbench и прикрепление текущего Excel-документа
СообщениеДобавлено: Чт, апр 07 2016, 17:53 
Почетный гуру
Почетный гуру

Зарегистрирован:
Пт, дек 04 2009, 12:52
Сообщения: 219
Немного непонятен вопрос. Возможно, вы хотели спросить как преобразовать hex-строку в solix_tab ? Например, с помощью Ф.М.'SCMS_XSTRING_TO_BINARY' .


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вызов MS OutLook из XLSX Workbench и прикрепление текущего Excel-документа
СообщениеДобавлено: Пт, апр 08 2016, 10:12 
Начинающий
Начинающий

Зарегистрирован:
Чт, мар 03 2016, 10:02
Сообщения: 9
Бородин Игорь написал(а):
Немного непонятен вопрос. Возможно, вы хотели спросить как преобразовать hex-строку в solix_tab ? Например, с помощью Ф.М.'SCMS_XSTRING_TO_BINARY' .

Уточню. Мне необходимо преобразовать hex-строку в itab, чтобы Excel-документ можно было сохранить на диск в формате xls.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вызов MS OutLook из XLSX Workbench и прикрепление текущего Excel-документа
СообщениеДобавлено: Пт, апр 08 2016, 10:48 
Почетный гуру
Почетный гуру

Зарегистрирован:
Пт, дек 04 2009, 12:52
Сообщения: 219
это делает, например, Ф.М.'SCMS_XSTRING_TO_BINARY'


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

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


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

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


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

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