Текущее время: Вт, апр 23 2024, 11:49

Часовой пояс: 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 часа


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

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


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

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