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

Send mail

Former Member
0 Likes
670

Hi,

In my pgm have to send a mail to user in that have to specify the subject as "Error message for todays date"(Todays date should be sy-datum).How should i do this.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
635

Hi,

DATA: l_tab_lines TYPE i,
        l_string TYPE char300,
        l_line TYPE string.

  CONSTANTS : l_c_255(255)  TYPE c VALUE '255',
              l_c_txt(3)    TYPE c VALUE 'TXT'.

  DATA: lt_reclist  TYPE STANDARD TABLE OF somlreci1,       "Recipients
        lt_objpack  TYPE STANDARD TABLE OF sopcklsti1,
        lt_objhead  TYPE STANDARD TABLE OF solisti1,
        lt_objtxt   TYPE STANDARD TABLE OF solisti1,     "Body of EMail
        lt_objbin   TYPE STANDARD TABLE OF solisti1."Attachment of EMail

  DATA: l_doc_chng TYPE sodocchgi1,     "attributes of document to send
        l_reclist  LIKE LINE OF lt_reclist,
        l_objpack  LIKE LINE OF lt_objpack,
        l_obj      LIKE LINE OF lt_objhead.

  DATA :
    l_hex LIKE solix,
    lt_contents_hex LIKE STANDARD TABLE OF solix ,
    conv TYPE REF TO cl_abap_conv_out_ce,
    l_buffer TYPE xstring,
    l_hexa(510) TYPE x.

* Completing the recipient list
  l_reclist-receiver = p_emailid.
  l_reclist-express  = 'X'.
  l_reclist-rec_type = 'U'.
  APPEND l_reclist TO lt_reclist.
  CLEAR  l_reclist.

" Add the changes
DATA : l_date type char10.
write sy-datum to l_date. 
Concatenete 'Error message for ' l_date INTI  l_string separated by space. 
  APPEND l_string TO lt_objhead.
" Add the changes

* APPEND object_header.
  CALL FUNCTION 'SO_RAW_TO_RTF'
    TABLES
      objcont_old = lt_objbin
      objcont_new = lt_objbin.

* Send the document
  CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
    EXPORTING
      document_data              = l_doc_chng
      put_in_outbox              = ' '
      commit_work                = 'X'
    TABLES
      packing_list               = lt_objpack
      object_header              = lt_objhead
*      contents_bin               = lt_objbin
      contents_txt               = lt_objtxt
      contents_hex               = lt_contents_hex
      receivers                  = lt_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 s000(oo) WITH 'Email sent to recipients'(019).
*   To refresh SAP Work Office so that mail can be recieved immediataly.
    SUBMIT rsconn01 WITH mode = 'INT'
                  WITH output = ''
                  AND RETURN.

*   Update the infotype 0019 after sending the email with the status
*   u2018Task in processu2018 from u2018Task in processu2018.
    PERFORM update_0019 TABLES p_emp_details.

  ELSE.
    MESSAGE s000(oo) WITH 'Problem in sending Email.'(e01).
  ENDIF.

4 REPLIES 4
Read only

Former Member
0 Likes
635

Hi ,

  • Sending email taking content from MAILDATA.

CALL FUNCTION 'SO_DOCUMENT_SEND_API1'

EXPORTING

document_data = maildata

put_in_outbox = 'X'

sender_address = sender

sender_address_type = sender_type

commit_work = 'X'

  • IMPORTING

  • SENT_TO_ALL =

  • NEW_OBJECT_ID =

  • SENDER_ID =

TABLES

packing_list = objpack

object_header = objhead

  • CONTENTS_BIN =

contents_txt = objcont

  • CONTENTS_HEX =

  • OBJECT_PARA =

  • OBJECT_PARB =

receivers = receiver_tab

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

OR

  • call function 'SO_NEW_DOCUMENT_SEND_API1'

  • exporting

  • document_data = maildata

  • document_type = 'HTM'

  • put_in_outbox = 'X'

  • commit_work = 'X'

o IMPORTING

o SENT_TO_ALL =

o NEW_OBJECT_ID =

  • tables

  • object_header = objhead

  • object_content = objcont

o CONTENTS_HEX =

o OBJECT_PARA =

o OBJECT_PARB =

  • receivers = receiver_tab

  • 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

  • .

or

CALL FUNCTION 'SO_DOCUMENT_SEND_API1'

EXPORTING

document_data = maildata

put_in_outbox = 'X'

sender_address = sender

sender_address_type = sender_type

commit_work = 'X'

  • IMPORTING

  • SENT_TO_ALL =

  • NEW_OBJECT_ID =

  • SENDER_ID =

TABLES

packing_list = objpack

object_header = objhead

  • CONTENTS_BIN =

contents_txt = objcont

  • CONTENTS_HEX =

  • OBJECT_PARA =

  • OBJECT_PARB =

receivers = receiver_tab

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

Regards,

Dheeraj

Read only

Former Member
0 Likes
636

Hi,

DATA: l_tab_lines TYPE i,
        l_string TYPE char300,
        l_line TYPE string.

  CONSTANTS : l_c_255(255)  TYPE c VALUE '255',
              l_c_txt(3)    TYPE c VALUE 'TXT'.

  DATA: lt_reclist  TYPE STANDARD TABLE OF somlreci1,       "Recipients
        lt_objpack  TYPE STANDARD TABLE OF sopcklsti1,
        lt_objhead  TYPE STANDARD TABLE OF solisti1,
        lt_objtxt   TYPE STANDARD TABLE OF solisti1,     "Body of EMail
        lt_objbin   TYPE STANDARD TABLE OF solisti1."Attachment of EMail

  DATA: l_doc_chng TYPE sodocchgi1,     "attributes of document to send
        l_reclist  LIKE LINE OF lt_reclist,
        l_objpack  LIKE LINE OF lt_objpack,
        l_obj      LIKE LINE OF lt_objhead.

  DATA :
    l_hex LIKE solix,
    lt_contents_hex LIKE STANDARD TABLE OF solix ,
    conv TYPE REF TO cl_abap_conv_out_ce,
    l_buffer TYPE xstring,
    l_hexa(510) TYPE x.

* Completing the recipient list
  l_reclist-receiver = p_emailid.
  l_reclist-express  = 'X'.
  l_reclist-rec_type = 'U'.
  APPEND l_reclist TO lt_reclist.
  CLEAR  l_reclist.

" Add the changes
DATA : l_date type char10.
write sy-datum to l_date. 
Concatenete 'Error message for ' l_date INTI  l_string separated by space. 
  APPEND l_string TO lt_objhead.
" Add the changes

* APPEND object_header.
  CALL FUNCTION 'SO_RAW_TO_RTF'
    TABLES
      objcont_old = lt_objbin
      objcont_new = lt_objbin.

* Send the document
  CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
    EXPORTING
      document_data              = l_doc_chng
      put_in_outbox              = ' '
      commit_work                = 'X'
    TABLES
      packing_list               = lt_objpack
      object_header              = lt_objhead
*      contents_bin               = lt_objbin
      contents_txt               = lt_objtxt
      contents_hex               = lt_contents_hex
      receivers                  = lt_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 s000(oo) WITH 'Email sent to recipients'(019).
*   To refresh SAP Work Office so that mail can be recieved immediataly.
    SUBMIT rsconn01 WITH mode = 'INT'
                  WITH output = ''
                  AND RETURN.

*   Update the infotype 0019 after sending the email with the status
*   u2018Task in processu2018 from u2018Task in processu2018.
    PERFORM update_0019 TABLES p_emp_details.

  ELSE.
    MESSAGE s000(oo) WITH 'Problem in sending Email.'(e01).
  ENDIF.

Read only

Former Member
0 Likes
635

Hi,

Search SDN before posting such questions... already replied lots of time...

check this blog:

/people/thomas.jung3/blog/2004/09/08/sending-e-mail-from-abap--version-610-and-higher--bcs-interface

Sachin

Read only

0 Likes
635

Hello Sachin.

In the above code i want to add the SENDER_ADDRESS also.

but in the SENDER_ADDRESS i dont want the sy-uname .

i want this for HR purpose.

plz help me..

regards,

venu