cancel
Showing results for 
Search instead for 
Did you mean: 

Sending email from webdynpro

Former Member
0 Kudos

Dear all,

I have developed a webdynpro application.

Now my requirement is that i would like to send the URL of this application through an email to the user and then the user can run the application from there when he clicks on the URL/Link...

have the URL with me.

What i want to do is , I have a submit button but when ever requester submits the webdynpro form, I need to send one mail to approver.

so that he can run the application from the mail using the URL.

I tried with following fm's but there is no mail in sost.

SO_NEW_DOCUMENT_ATT_SEND_API1

SO_DOCUMENT_SEND_API1

Has anyone an example how to send an email with Webdynpro for Abap.

Thanks,

Ravi.

Accepted Solutions (0)

Answers (3)

Answers (3)

former_member5006
Participant
0 Kudos

This message was moderated.

Former Member
0 Kudos

Hi Ravi,

As Thomas said, first check that SAP is configured for sending external mails. You can use below code for sending mails:



  CLASS cl_bcs DEFINITION LOAD.

  DATA:
    lo_send_request TYPE REF TO cl_bcs VALUE IS INITIAL.

  lo_send_request = cl_bcs=>create_persistent( ).

* Message body and subject
  DATA:
  lt_message_body TYPE bcsy_text VALUE IS INITIAL,
  lo_document TYPE REF TO cl_document_bcs VALUE IS INITIAL.
  APPEND 'Dear,' TO lt_message_body.
  APPEND ' ' TO lt_message_body.
  APPEND 'Please fill the attached form and send it back to us.'
  TO lt_message_body.
  APPEND "URL" TO lt_message_body.
  APPEND 'Thank You,' TO lt_message_body.

  lo_document = cl_document_bcs=>create_document(
  i_type = 'RAW'
  i_text = lt_message_body
  i_subject = 'Personnel Information Form' ).

  DATA: lx_document_bcs TYPE REF TO cx_document_bcs VALUE IS INITIAL.

* Pass the document to send request
  lo_send_request->set_document( lo_document ).

* Create sender
  DATA:
  lo_sender TYPE REF TO if_sender_bcs VALUE IS INITIAL,
  l_send TYPE adr6-smtp_addr VALUE 'SENDER_ID',
  l_reci TYPE adr6-smtp_addr.

  l_reci = 'user_name_at_company_dot_com'. "Approver's email address


*  lo_sender = cl_cam_address_bcs=>create_internet_address( l_send ).
  lo_sender = cl_sapuser_bcs=>create( sy-uname ).
* Set sender
  lo_send_request->set_sender(
  EXPORTING
  i_sender = lo_sender ).

* create recipient
  DATA:
  lo_recipient TYPE REF TO if_recipient_bcs VALUE IS INITIAL.
  lo_recipient = cl_cam_address_bcs=>create_internet_address( l_reci ).
** Set recipient
  lo_send_request->add_recipient(
  EXPORTING
  i_recipient = lo_recipient
  i_express = 'X' ).
*  lo_send_request->add_recipient(
*  EXPORTING
*  i_recipient = lo_recipient
*  i_express = 'X' ).* Send email
  DATA: lv_sent_to_all(1) TYPE c VALUE IS INITIAL.
  lo_send_request->send(
  EXPORTING
  i_with_error_screen = 'X'
  RECEIVING
  result = lv_sent_to_all ).
  COMMIT WORK.


Hope this will help,

Amit

Former Member
0 Kudos

Thanks a lot Amit,

With your above code i can see Email in SOST T-CODE but apprver has not getting mails into his mail box.

Regards,

Ravi..

former_member199125
Active Contributor
0 Kudos

Once mail released from sost, then they wil get mail..

If you want to do immediatly,, select the mails in SOST and press on execute button

Regards

srinivas

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

There is nothing web dynpro specific about sending emails. These function modules should work find - although in general you should use the CL_BCS classes for sending emails in all cases. Are you sure Email is configured correctly on your system? Can you send a test email from a standard application or by copying this functionality into a dynpro application?