Текущее время: Пт, июн 20 2025, 18:42

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Посылка почты на внешний адрес
СообщениеДобавлено: Пт, апр 02 2010, 11:44 
Начинающий
Начинающий

Зарегистрирован:
Пн, июн 01 2009, 11:53
Сообщения: 13
Всем привет
Нужно кинуть из Sap в Lotus емейл, включающий в себе HTML код (таблица, ссылки).
Подскажите, куда тыкаться :)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Посылка почты на внешний адрес
СообщениеДобавлено: Пт, апр 02 2010, 11:48 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
AlexyeNov написал(а):
Всем привет
Нужно кинуть из Sap в Lotus емейл, включающий в себе HTML код (таблица, ссылки).
Подскажите, куда тыкаться :)

В поиск по SO_NEW_DOCUMENT_SEND_API1


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Посылка почты на внешний адрес
СообщениеДобавлено: Пт, апр 02 2010, 11:55 
Начинающий
Начинающий

Зарегистрирован:
Пн, июн 01 2009, 11:53
Сообщения: 13
Ммм бегло глянул
там что то очень много всего надо юзать, и шлётся как понимаю какой то Sapoffice документ, который нужно предварительно получается создать?
Или не всё так сложно, как мне пока что кажется?

Мне вообще проще всего сгенерить на лету тело сообщения и послать его через Mime, вот тока незнаю как...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Посылка почты на внешний адрес
СообщениеДобавлено: Пт, апр 02 2010, 13:25 
Начинающий
Начинающий

Зарегистрирован:
Пн, июн 01 2009, 11:53
Сообщения: 13
Заюзал эту функцию.

Как в HTML только не понял сгенерить? Просто в it_message пихать HTML ? Попробовал, но HTML приходит кодом в письме.


Code:
FUNCTION Z_TEST_EMAIL.
*"----------------------------------------------------------------------
*"*"Локальный интерфейс:
*"----------------------------------------------------------------------
* Fill the document data.

  data: psubject(40) type c value  'Hello',
            p_email(40)   type c value 'ASosnov@Technoserv.ru' .

  data:   it_packing_list like sopcklsti1 occurs 0 with header line,
        it_contents like solisti1 occurs 0 with header line,
        it_receivers like somlreci1 occurs 0 with header line,
        it_attachment like solisti1 occurs 0 with header line,
        gd_cnt type i,
        gd_sent_all(1) type c,
        gd_doc_data like sodocchgi1,
        gd_error type sy-subrc.

  data:   it_message type standard table of SOLISTI1 initial size 0
                  with header line.


  gd_doc_data-doc_size = 1.

* Populate the subject/generic message attributes
  gd_doc_data-obj_langu = sy-langu.
  gd_doc_data-obj_name  = 'SAPRPT'.
  gd_doc_data-obj_descr = psubject.
  gd_doc_data-sensitivty = 'F'.


  Append 'Email line 1' to it_message.
  Append 'Email line 2' to it_message.
  Append 'Email line 3' to it_message.
  Append 'Email line 4' to it_message.


* Describe the body of the message
  clear it_packing_list.
  refresh it_packing_list.
  it_packing_list-transf_bin = space.
  it_packing_list-head_start = 1.
  it_packing_list-head_num = 0.
  it_packing_list-body_start = 1.
  describe table it_message lines it_packing_list-body_num.
  it_packing_list-doc_type = 'RAW'.
  append it_packing_list.

* Add the recipients email address
  clear it_receivers.
  refresh it_receivers.
  it_receivers-receiver = p_email.
  it_receivers-rec_type = 'U'.
  it_receivers-com_type = 'INT'.
  it_receivers-notif_del = 'X'.
  it_receivers-notif_ndel = 'X'.
  append it_receivers.

* Call the FM to post the message to SAPMAIL
  call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
    EXPORTING
      document_data              = gd_doc_data
      put_in_outbox              = 'X'
    IMPORTING
      sent_to_all                = gd_sent_all
    TABLES
      packing_list               = it_packing_list
      contents_txt               = it_message
      receivers                  = it_receivers
    EXCEPTIONS
      too_many_receivers         = 1
      document_not_sent          = 2
      document_type_not_exist    = 3
      operation_no_authorization = 4
      parameter_error            = 5
      x_error                    = 6
      enqueue_error              = 7
      others                     = 8.

* Store function module return code
  gd_error = sy-subrc.

* Get it_receivers return code
  loop at it_receivers.
  endloop.

  wait up to 2 seconds.
  if gd_error eq 0.
    submit rsconn01 with mode = 'INT'
                  with output = 'X'
                  and return.
  endif.


ENDFUNCTION.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Посылка почты на внешний адрес
СообщениеДобавлено: Пт, апр 02 2010, 13:38 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, июл 03 2007, 10:26
Сообщения: 486
Откуда: Kazakhstan, Astana
Пол: Мужской
Я не абапер, но задача стандартная, мне удобней юзать =
http://www.sapnet.ru/viewtopic.php?t=2994
Под себя заточите, там все прозрачно.
По поводу HTML.
http://wiki.sdn.sap.com/wiki/display/Sn ... table+-Upd

_________________
"Great minds discuss ideas. Average minds discuss events. Small minds discuss people-Eleanor Roosevelt--Knowledge is to share, Keep it free, Keep sharing"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Посылка почты на внешний адрес
СообщениеДобавлено: Пт, апр 02 2010, 14:53 
Начинающий
Начинающий

Зарегистрирован:
Пн, июн 01 2009, 11:53
Сообщения: 13
в общем, видимо SO_NEW_DOCUMENT_SEND_API1 не годится.
Он шлёт письмо через SapOffice, а там я судя по тому что я вижу нельзя врубить формат письма text/html.
Если же слать в обычном тексте, то клиент (Notes, например), не понимает, что это HTML. Тоесть должно быть что то навроде
MIME-Version: 1.0
Content-Type: text/html


BORLAND написал:
Я не абапер, но задача стандартная, мне удобней юзать =
http://www.sapnet.ru/viewtopic.php?t=2994
Под себя заточите, там все прозрачно.


Это попробую, если в конечном счёте всё опять не сводится к посылке обычного текста через сап-офис то есть шанс.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Посылка почты на внешний адрес
СообщениеДобавлено: Пт, апр 02 2010, 15:46 
Специалист
Специалист

Зарегистрирован:
Пн, янв 14 2008, 10:33
Сообщения: 163
Любимый блог по теме: https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/789


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Посылка почты на внешний адрес
СообщениеДобавлено: Пт, апр 02 2010, 15:53 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, июл 03 2007, 10:26
Сообщения: 486
Откуда: Kazakhstan, Astana
Пол: Мужской
AlexyeNov написал(а):
в общем, видимо SO_NEW_DOCUMENT_SEND_API1 не годится.
...

Все точно работает, на внешний адрес все прекрасно отправляется с аттачментом и Excel и HTML. ТОлько я пошел не через отправление сообщения не отдельной персоне, а группе получателей, которые настраиваются в SO23. Но SO_NEW_DOCUMENT_SEND_API1 тоже должен работать, это факт. Он просто не так удобен как класс cl_bcs IMHO. Для аттачмента в HTML =
Code:
*
  ...
ca_htm(3) TYPE c VALUE 'HTM'.

*Create Attachment
        CALL METHOD document->add_attachment
          EXPORTING
            i_attachment_type    = ca_htm
            i_att_content_text   = it_att_content
            i_attachment_subject = i_att_filename.
      ENDIF.

Не торопитесь, и все у вас обязательно получиться. :pivo:

_________________
"Great minds discuss ideas. Average minds discuss events. Small minds discuss people-Eleanor Roosevelt--Knowledge is to share, Keep it free, Keep sharing"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Посылка почты на внешний адрес
СообщениеДобавлено: Пт, апр 02 2010, 17:00 
Начинающий
Начинающий

Зарегистрирован:
Пн, июн 01 2009, 11:53
Сообщения: 13
Мне не аттачмент нужно, а само Body в html


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Посылка почты на внешний адрес
СообщениеДобавлено: Пт, апр 02 2010, 17:55 
Начинающий
Начинающий

Зарегистрирован:
Пн, июн 01 2009, 11:53
Сообщения: 13
Я ошибся, HTML всё таки пашет, но ...
Следующий код шлёт вроде нормально HTML письма в SAP Ofice (отображается там ссылка), а вот во внешнюю почту падает почему то [censored] какая то. Подозреваю, дело в каких то неправильных конвертациях при посылке наружу...
Кто что может сказать?

Вот что приходит в Lotus: http://s004.radikal.ru/i208/1004/68/26302fa5bab6.jpg
Вот что отложилось при посылке этого письма в SapOffice: http://s45.radikal.ru/i110/1004/5e/e4fc70111c86.jpg


Code:
FUNCTION Z_TEST_EMAIL.
*"----------------------------------------------------------------------
*"*"Локальный интерфейс:
*"  IMPORTING
*"     REFERENCE(P_EMAIL1) TYPE  TEXT255 OPTIONAL
*"----------------------------------------------------------------------
* Fill the document data.

  data: psubject(40) type c value  'Hello',
            p_email(40)   type c value 'ASosnov@Technoserv.ru' .

  data:   it_packing_list like sopcklsti1 occurs 0 with header line,
        it_contents like solisti1 occurs 0 with header line,
        it_receivers like somlreci1 occurs 0 with header line,
        it_attachment like solisti1 occurs 0 with header line,
        gd_cnt type i,
        gd_sent_all(1) type c,
        gd_doc_data like sodocchgi1,
        gd_error type sy-subrc.

  data:   it_message type standard table of SOLISTI1 initial size 0
                  with header line.
  if p_email1 ne ''.
     p_email = p_email1.
  endif.
  gd_doc_data-doc_size = 1.

* Populate the subject/generic message attributes
  gd_doc_data-obj_langu = sy-langu.
  gd_doc_data-obj_name  = 'SAPRPT'.
  gd_doc_data-obj_descr = psubject.
  gd_doc_data-sensitivty = 'F'.

  "Append 'MIME-Version: 1.0' to it_message.

  "Append 'Content-Type: text/html; charset=ISO-8859-1' to it_message.

  "Append '<HTML>' to it_message.
  Append '<HEAD>' to it_message.
  Append '<TITLE>Как создать свой первый сайт</TITLE>' to it_message.

  Append '</HEAD>' to it_message.

  Append '<BODY leftmargin=0 topmargin=0 marginheight=0 marginwidth=0>' to it_message.

  Append '<CENTER><TABLE width=95% cellpadding=4 cellspacing=0 border=0 class=main>' to it_message.
  Append '<TR>' to it_message.
  Append '<TD>' to it_message.
  Append '<li><a href="/no/ru/brand/"><font color="red"><b>Наш бренд</b></font></a></li>' to it_message.
  "Append 'HELLO, WORLD!' to it_message.
  "Append '</FONT>' to it_message.
  Append '</TD>' to it_message.
  Append '</TR>' to it_message.
  Append '</TABLE>' to it_message.

  Append '</BODY>' to it_message.
  "Append '</html>' to it_message.


* Describe the body of the message
  clear it_packing_list.
  refresh it_packing_list.
  it_packing_list-transf_bin = space.
  it_packing_list-head_start = 1.
  it_packing_list-head_num = 0.
  it_packing_list-body_start = 1.
  describe table it_message lines it_packing_list-body_num.
  "it_packing_list-doc_type = 'HTM'.
  it_packing_list-doc_type = 'HTM'.
  append it_packing_list.

* Add the recipients email address
  clear it_receivers.
  refresh it_receivers.
  it_receivers-receiver = p_email.
  it_receivers-rec_type = 'U'.
  it_receivers-com_type = 'INT'.
  it_receivers-notif_del = 'X'.
  it_receivers-notif_ndel = 'X'.
  append it_receivers.

* Call the FM to post the message to SAPMAIL
  call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
    EXPORTING
      document_data              = gd_doc_data
      put_in_outbox              = 'X'
      COMMIT_WORK = 'X'
    IMPORTING
      sent_to_all                = gd_sent_all
    TABLES
      packing_list               = it_packing_list
      contents_txt               = it_message
      receivers                  = it_receivers
    EXCEPTIONS
      too_many_receivers         = 1
      document_not_sent          = 2
      document_type_not_exist    = 3
      operation_no_authorization = 4
      parameter_error            = 5
      x_error                    = 6
      enqueue_error              = 7
      others                     = 8.

* Store function module return code
  gd_error = sy-subrc.

* Get it_receivers return code
  loop at it_receivers.
  endloop.

  wait up to 2 seconds.
  if gd_error eq 0.
    submit rsconn01 with mode = 'INT'
                  with output = 'X'
                  and return.
  endif.


ENDFUNCTION.


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

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


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

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


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

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