Homelab, Linux, JS & ABAP (~˘▾˘)~
 

[ABAP] Send mail using CL_BCS

Find related example reports in package SBCOMS.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
TRY.
 
       DATA(lo_sender) = cl_sapuser_bcs=>create( sy-uname ).
 
       DATA(lo_recipient) = cl_cam_address_bcs=>create_internet_address( i_address_string = lv_mailaddress ).
 
       DATA(lv_html_text) = |<BODY> | &&
                            |<p>Guten Tag,<br>| &&
                            |<br>| &&
                            |Es ist ein Fehler aufgetreten.<br>| &&
                            |Bitte schauen Sie in das Application Log.<br>| &&
                            |<br>| &&
                            |Vielen Dank!</p>| &&
                            |</BODY>|.
 
       DATA(lo_document) = cl_document_bcs=>create_document( i_type    = 'HTM'
                                                             i_text    = cl_document_bcs=>string_to_soli( ip_string = lv_html_text )
                                                             i_subject = |Fehler| ).
 
       " Erzeuge Business Communication Service und setze Objekte
       DATA(lo_send_request) = cl_bcs=>create_persistent( ).
       lo_send_request->set_sender( lo_sender ).           " Sender
       lo_send_request->add_recipient( lo_recipient ).     " Empfänger
       lo_send_request->set_document( lo_document ).       " Mailtext
       lo_send_request->set_send_immediately( abap_true ). " Mail sofort senden
       lo_send_request->send( ).                           " Sende Mail!
       COMMIT WORK.                                        " Ohne Commit wird keine Mail in der SOST auftauchen
 
       " Schreibe Fehler in das Log
     CATCH cx_address_bcs  INTO DATA(lx_address_bsc).
       mr_log->add_exception( i_exception = lx_address_bsc ).
     CATCH cx_send_req_bcs INTO DATA(lx_send_req_bcs).
       mr_log->add_exception( i_exception = lx_send_req_bcs ).
     CATCH cx_document_bcs INTO DATA(lx_document_bcs).
       mr_log->add_exception( i_exception = lx_document_bcs ).
 
 ENDTRY.

Leave a Reply

Your email address will not be published. Required fields are marked *