Mail Code
Mail Code
DATA M.
WHILE M <> 1.
ENDWHILE.
DATA: crequest_api TYPE REF TO if_usmd_crequest_api,
et_messages TYPE usmd_t_message,
es_crequest TYPE usmd_s_crequest,
lv_crequest TYPE usmd_crequest_type,
et_note TYPE usmd_t_crequest_note,
wa_note TYPE usmd_s_crequest_note,
lt_return TYPE bapirettab,
ls_user_data TYPE bapiaddr3,
lv_requestor TYPE xubname,
lv_requestor_email TYPE ad_smtpadr,
lv_name_requestor TYPE char80,
ls_user_agent TYPE usmd_s_user_agent,
lv_string TYPE string,
lv_string1 TYPE string,
lv_subject TYPE string,
lv_body TYPE string,
lt_lines TYPE tline_tab,
lv_mail_address TYPE string,
lo_message TYPE REF TO cl_bcs_message,
lx_bcs_send TYPE REF TO cx_bcs_send,
ls_context_tab TYPE usmd_s_generic_context,
lv_notes TYPE usmd_note.
*
CONSTANTS: lv_newline TYPE c VALUE cl_abap_char_utilities=>newline,
c_mail_subject TYPE char80 VALUE 'Manufacturing Part',
c_cr_creator TYPE char100 VALUE 'CREATOR'.
CASE iv_service_name.
WHEN 'ZB_MAIL_APPROVER'.
* Get -- CR type
CALL METHOD cl_usmd_crequest_api=>get_instance
EXPORTING
iv_crequest = iv_cr_number
IMPORTING
et_message = et_messages
re_inst_crequest_api = crequest_api.
lv_requestor = es_crequest-usmd_created_by.
IF lv_requestor IS INITIAL.
EXIT.
ENDIF.
IF sy-subrc = 0.
lv_requestor_email = ls_user_data-e_mail.
CONCATENATE ls_user_data-firstname ls_user_data-lastname INTO
lv_name_requestor SEPARATED BY space.
ENDIF.
TRY.
CREATE OBJECT lo_message.
lv_subject = c_mail_subject.
lo_message->set_subject( lv_subject ).
lo_message->set_main_doc( lv_body ).
lv_mail_address = lv_requestor_email.
lo_message->add_recipient( lv_mail_address ).
lo_message->set_status_mail( 'N' ).
lo_message->set_requested_status( 'N' ).
lo_message->set_importance( 'N' ).
lo_message->set_send_immediately( 'X' ).
lo_message->send( ).
lo_message->show_send_log( ).
CATCH cx_bcs_send INTO lx_bcs_send.
ENDTRY.
ENDIF.
ENDCASE.
ENDMETHOD.