Code: Alles auswählen.
... TRY.
" Senderequest erzeugen
lo_sendrequest = cl_bcs=>create_persistent( ).
* lo_sendrequest->set_send_immediately( i_send_immediately = 'X' ).
* CATCH cx_send_req_bcs. "
" Sender hinzufügen
lo_sendrequest->set_sender( cl_cam_address_bcs=>create_internet_address( i_address_string = gc_sender_addr ) ).
" Empfänger hinzufügen
lo_sendrequest->add_recipient(
i_recipient = cl_cam_address_bcs=>create_internet_address( lv_mail )
i_express = abap_true
).
" Dokument erzeugen
lo_document = cl_document_bcs=>create_document(
i_type = 'RAW'
i_text = lt_text
i_length = '12'
i_subject = 'Info-Mail: '
i_sensitivity = 'O').
lo_sendrequest->set_document( lo_document ).
...
Code: Alles auswählen.
data lv_utask type sy-subrc.
CALL FUNCTION 'TH_IN_UPDATE_TASK'
IMPORTING
IN_UPDATE_TASK = lv_utask.
CHECK sy-batch IS INITIAL.
CHECK lv_utask IS INITIAL.
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Tron
Code: Alles auswählen.
FUNCTION Y_SEND_MAIL_RFC .
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"----------------------------------------------------------------------
DATA l_utask TYPE i.
DATA lv_internetadr TYPE adr6-smtp_addr.
DATA lv_subject TYPE so_obj_des VALUE 'Test mit Commit Work'.
DATA send_request TYPE REF TO cl_bcs.
DATA text TYPE bcsy_text.
DATA s_text TYPE so_text255.
DATA document TYPE REF TO cl_document_bcs.
DATA recipient TYPE REF TO if_recipient_bcs.
DATA bcs_exception TYPE REF TO cx_bcs.
DATA sent_to_all TYPE os_boolean.
* create the send request
TRY.
send_request = cl_bcs=>create_persistent( ).
s_text = '0123456789'.
APPEND s_text TO text.
APPEND s_text TO text.
document = cl_document_bcs=>create_document(
i_type = 'RAW'
i_text = text
i_subject = lv_subject ).
* * add list attachment to document
* lv_attname = 'Test mit Commit Work'.
* *=============== Prep Send
* * add document to send request
send_request->set_document( document ).
* * create recipient and add to send request
recipient = cl_cam_address_bcs=>create_internet_address( 'sapuser@localhost' ).
* IF lv_internetadr IS INITIAL.
* recipient = cl_sapuser_bcs=>create( sy-uname ).
* ELSE.
* recipient = cl_cam_address_bcs=>create_internet_address( lv_internetadr ).
* ENDIF.
send_request->add_recipient( i_recipient = recipient ).
* * send
send_request->set_send_immediately( i_send_immediately = 'X' ).
sent_to_all = send_request->send( i_with_error_screen = 'X' ).
IF sent_to_all = 'X'.
MESSAGE s022(so).
ENDIF.
CATCH cx_bcs INTO bcs_exception.
MESSAGE e865(so) WITH bcs_exception->error_type.
ENDTRY.
CLEAR:
document,
recipient,
send_request.
* Im VERBUCHER kein Commit work !!
*Values: 1: in update task, 0: not in update task
CALL FUNCTION 'TH_IN_UPDATE_TASK'
IMPORTING
in_update_task = l_utask.
IF l_utask IS INITIAL.
COMMIT WORK.
ENDIF.
ENDFUNCTION.
Code: Alles auswählen.
METHOD if_ex_hrpad00infty~in_update .
CALL FUNCTION 'Y_SEND_MAIL_RFC' DESTINATION 'NONE'.
ENDMETHOD.