Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

help on ABAP code to trigger an Email with HTML attachment

Former Member
0 Likes
868

Hi folks,

Could any of you help me out in writing code to attach a HTML document to the internet email address.

I was able to convert the list output to HTML using FM WWW_LIST_TO_HTML.

Could some help me out how to attach HTML doc to the Email using any of the FM SO_DOCUMENT_SEND_API1 or SO_NEW_DOCUMENT_SEND_API1 or any other.

I tried some of the examples available in the forum, but I couldnot find one that actually send the list output(in HTML format) as attachment to email

points will be rewarded for helpful responses...

Thanks In Advance.

Suku

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
802

Hi,

REPORT zkiran_send_mail_bor .

&----


*& Report Zkiran_SEND_MAIL_BOR

*&

&----


*& Send document with BOR Object as attachment

&----


DATA: docdata LIKE sodocchgi1,

objpack LIKE sopcklsti1 OCCURS 10 WITH HEADER LINE,

objhead LIKE solisti1 OCCURS 10 WITH HEADER LINE,

objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE,

objbin LIKE solisti1 OCCURS 10 WITH HEADER LINE,

objhex LIKE solix OCCURS 10 WITH HEADER LINE,

reclist LIKE somlreci1 OCCURS 1 WITH HEADER LINE.

DATA: tab_lines TYPE i,

doc_size TYPE i,

objdes(100).

  • For the BOR attachment

CONSTANTS:

c_object_describe LIKE swotobjid-describe VALUE '<OBJECT>'.

DATA:

l_object TYPE swotobjid,

l_objheader LIKE soxobj.

PARAMETERS:

p_objtyp TYPE swo_objtyp OBLIGATORY,

p_objkey TYPE swo_typeid OBLIGATORY.

  • Create Message Body

  • Main Text

objtxt = 'Test Document.'.

APPEND objtxt.

objtxt = 'You will find a BOR object attachment in message.'.

APPEND objtxt.

objtxt = 'Have a nice day.'.

APPEND objtxt.

  • Title and Description

DESCRIBE TABLE objtxt LINES tab_lines.

READ TABLE objtxt INDEX tab_lines.

docdata-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).

docdata-obj_name = 'BOR Object'.

Concatenate p_objtyp '-' p_objkey into objdes.

Concatenate 'BOR Object' objdes 'as Attachment'

into docdata-obj_descr separated by space.

condense docdata-obj_descr.

  • Write Packing List (Main)

CLEAR objpack-transf_bin.

objpack-head_start = 0.

objpack-head_num = 0.

objpack-body_start = 1.

objpack-body_num = tab_lines.

objpack-doc_type = 'RAW'.

APPEND objpack.

  • Create OBJ attachment

l_object-describe = c_object_describe.

l_object-objtype = p_objtyp.

l_object-objkey = p_objkey.

CALL FUNCTION 'OWN_LOGICAL_SYSTEM_GET'

IMPORTING

own_logical_system = l_object-logsys

EXCEPTIONS

own_logical_system_not_defined = 1

OTHERS = 2.

IF sy-subrc <> 0.

MESSAGE e398(00) WITH 'No Log Sys Found'.

ENDIF.

MOVE-CORRESPONDING l_object TO l_objheader.

APPEND l_objheader TO objhead.

  • Write Packing List (Attachment)

CLEAR objpack.

objpack-head_start = 1.

objpack-head_num = 1.

objpack-body_start = 0.

objpack-body_num = 0.

objpack-doc_type = 'OBJ'.

objpack-obj_name = p_objtyp.

objpack-obj_descr = Objdes.

APPEND objpack.

  • Create receiver list

reclist-receiver = sy-uname.

reclist-rec_type = 'B'.

APPEND reclist.

  • Send Message

CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'

EXPORTING

document_data = docdata

put_in_outbox = 'X'

commit_work = 'X'

TABLES

packing_list = objpack

object_header = objhead

contents_bin = objbin

contents_txt = objtxt

receivers = reclist

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.

IF sy-subrc <> 0.

MESSAGE ID 'SO' TYPE 'S' NUMBER '023'

WITH docdata-obj_name.

ENDIF.

WRITE: / 'End of Program'.

also <b>check BCS_EXAMPLE*</b>

<b>Reward points</b>

Regards

Hi,

REPORT zkiran_send_mail_bor .

&----


*& Report Zkiran_SEND_MAIL_BOR

*&

&----


*& Send document with BOR Object as attachment

&----


DATA: docdata LIKE sodocchgi1,

objpack LIKE sopcklsti1 OCCURS 10 WITH HEADER LINE,

objhead LIKE solisti1 OCCURS 10 WITH HEADER LINE,

objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE,

objbin LIKE solisti1 OCCURS 10 WITH HEADER LINE,

objhex LIKE solix OCCURS 10 WITH HEADER LINE,

reclist LIKE somlreci1 OCCURS 1 WITH HEADER LINE.

DATA: tab_lines TYPE i,

doc_size TYPE i,

objdes(100).

  • For the BOR attachment

CONSTANTS:

c_object_describe LIKE swotobjid-describe VALUE '<OBJECT>'.

DATA:

l_object TYPE swotobjid,

l_objheader LIKE soxobj.

PARAMETERS:

p_objtyp TYPE swo_objtyp OBLIGATORY,

p_objkey TYPE swo_typeid OBLIGATORY.

  • Create Message Body

  • Main Text

objtxt = 'Test Document.'.

APPEND objtxt.

objtxt = 'You will find a BOR object attachment in message.'.

APPEND objtxt.

objtxt = 'Have a nice day.'.

APPEND objtxt.

  • Title and Description

DESCRIBE TABLE objtxt LINES tab_lines.

READ TABLE objtxt INDEX tab_lines.

docdata-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).

docdata-obj_name = 'BOR Object'.

Concatenate p_objtyp '-' p_objkey into objdes.

Concatenate 'BOR Object' objdes 'as Attachment'

into docdata-obj_descr separated by space.

condense docdata-obj_descr.

  • Write Packing List (Main)

CLEAR objpack-transf_bin.

objpack-head_start = 0.

objpack-head_num = 0.

objpack-body_start = 1.

objpack-body_num = tab_lines.

objpack-doc_type = 'RAW'.

APPEND objpack.

  • Create OBJ attachment

l_object-describe = c_object_describe.

l_object-objtype = p_objtyp.

l_object-objkey = p_objkey.

CALL FUNCTION 'OWN_LOGICAL_SYSTEM_GET'

IMPORTING

own_logical_system = l_object-logsys

EXCEPTIONS

own_logical_system_not_defined = 1

OTHERS = 2.

IF sy-subrc <> 0.

MESSAGE e398(00) WITH 'No Log Sys Found'.

ENDIF.

MOVE-CORRESPONDING l_object TO l_objheader.

APPEND l_objheader TO objhead.

  • Write Packing List (Attachment)

CLEAR objpack.

objpack-head_start = 1.

objpack-head_num = 1.

objpack-body_start = 0.

objpack-body_num = 0.

objpack-doc_type = 'OBJ'.

objpack-obj_name = p_objtyp.

objpack-obj_descr = Objdes.

APPEND objpack.

  • Create receiver list

reclist-receiver = sy-uname.

reclist-rec_type = 'B'.

APPEND reclist.

  • Send Message

CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'

EXPORTING

document_data = docdata

put_in_outbox = 'X'

commit_work = 'X'

TABLES

packing_list = objpack

object_header = objhead

contents_bin = objbin

contents_txt = objtxt

receivers = reclist

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.

IF sy-subrc <> 0.

MESSAGE ID 'SO' TYPE 'S' NUMBER '023'

WITH docdata-obj_name.

ENDIF.

WRITE: / 'End of Program'.

also <b>check BCS_EXAMPLE*</b>

<b>Reward points</b>

Regards

4 REPLIES 4
Read only

Former Member
0 Likes
803

Hi,

REPORT zkiran_send_mail_bor .

&----


*& Report Zkiran_SEND_MAIL_BOR

*&

&----


*& Send document with BOR Object as attachment

&----


DATA: docdata LIKE sodocchgi1,

objpack LIKE sopcklsti1 OCCURS 10 WITH HEADER LINE,

objhead LIKE solisti1 OCCURS 10 WITH HEADER LINE,

objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE,

objbin LIKE solisti1 OCCURS 10 WITH HEADER LINE,

objhex LIKE solix OCCURS 10 WITH HEADER LINE,

reclist LIKE somlreci1 OCCURS 1 WITH HEADER LINE.

DATA: tab_lines TYPE i,

doc_size TYPE i,

objdes(100).

  • For the BOR attachment

CONSTANTS:

c_object_describe LIKE swotobjid-describe VALUE '<OBJECT>'.

DATA:

l_object TYPE swotobjid,

l_objheader LIKE soxobj.

PARAMETERS:

p_objtyp TYPE swo_objtyp OBLIGATORY,

p_objkey TYPE swo_typeid OBLIGATORY.

  • Create Message Body

  • Main Text

objtxt = 'Test Document.'.

APPEND objtxt.

objtxt = 'You will find a BOR object attachment in message.'.

APPEND objtxt.

objtxt = 'Have a nice day.'.

APPEND objtxt.

  • Title and Description

DESCRIBE TABLE objtxt LINES tab_lines.

READ TABLE objtxt INDEX tab_lines.

docdata-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).

docdata-obj_name = 'BOR Object'.

Concatenate p_objtyp '-' p_objkey into objdes.

Concatenate 'BOR Object' objdes 'as Attachment'

into docdata-obj_descr separated by space.

condense docdata-obj_descr.

  • Write Packing List (Main)

CLEAR objpack-transf_bin.

objpack-head_start = 0.

objpack-head_num = 0.

objpack-body_start = 1.

objpack-body_num = tab_lines.

objpack-doc_type = 'RAW'.

APPEND objpack.

  • Create OBJ attachment

l_object-describe = c_object_describe.

l_object-objtype = p_objtyp.

l_object-objkey = p_objkey.

CALL FUNCTION 'OWN_LOGICAL_SYSTEM_GET'

IMPORTING

own_logical_system = l_object-logsys

EXCEPTIONS

own_logical_system_not_defined = 1

OTHERS = 2.

IF sy-subrc <> 0.

MESSAGE e398(00) WITH 'No Log Sys Found'.

ENDIF.

MOVE-CORRESPONDING l_object TO l_objheader.

APPEND l_objheader TO objhead.

  • Write Packing List (Attachment)

CLEAR objpack.

objpack-head_start = 1.

objpack-head_num = 1.

objpack-body_start = 0.

objpack-body_num = 0.

objpack-doc_type = 'OBJ'.

objpack-obj_name = p_objtyp.

objpack-obj_descr = Objdes.

APPEND objpack.

  • Create receiver list

reclist-receiver = sy-uname.

reclist-rec_type = 'B'.

APPEND reclist.

  • Send Message

CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'

EXPORTING

document_data = docdata

put_in_outbox = 'X'

commit_work = 'X'

TABLES

packing_list = objpack

object_header = objhead

contents_bin = objbin

contents_txt = objtxt

receivers = reclist

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.

IF sy-subrc <> 0.

MESSAGE ID 'SO' TYPE 'S' NUMBER '023'

WITH docdata-obj_name.

ENDIF.

WRITE: / 'End of Program'.

also <b>check BCS_EXAMPLE*</b>

<b>Reward points</b>

Regards

Read only

Former Member
0 Likes
802

hi

good

go through this link,hope this ll help you to solve your problem

https://weblogs.sdn.sap.com/pub/wlg/781?page=last&x-maxdepth=0 [original link is broken] [original link is broken] [original link is broken] [original link is broken]

thanks

mrutyun^

Read only

Former Member
0 Likes
802

Hi Sukumar,

did you try it with DOC_TYPE = 'HTM' in attachment?

Regards, Dieter

Read only

Former Member
0 Likes
802

thanks..