*&---------------------------------------------------------------------* *& Include ZXM06U44 *&---------------------------------------------------------------------* *Data Declaration DATA : rel_ind LIKE i_ekko-frgke. rel_ind = i_ekko-frgke. *Release PO when final authorized person process PO IF sy-tcode EQ 'ME29N' AND rel_ind EQ 2. *Internal table to get vendor name and address number DATA : BEGIN OF it_vname OCCURS 0, name1 LIKE lfa1-name1, adrnr LIKE lfa1-adrnr, END OF it_vname. *Internal table to get email_if with address number DATA : BEGIN OF it_vemail OCCURS 0, email LIKE adr6-smtp_addr, END OF it_vemail. *Emiail subject DATA : psubject(40) TYPE c . *Data declaration for mail FM DATA: it_packing_list LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE, it_contents LIKE solisti1 OCCURS 0 WITH HEADER LINE, it_receivers LIKE somlreci1 OCCURS 0 WITH HEADER LINE, it_attachment LIKE solisti1 OCCURS 0 WITH HEADER LINE, gd_cnt TYPE i, gd_sent_all(1) TYPE c, gd_doc_data LIKE sodocchgi1, gd_error TYPE sy-subrc. *Internal table for message body DATA: it_message TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0 WITH HEADER LINE, it_messagewa LIKE LINE OF it_message . psubject = 'PO Regarding'. *Accessing name and address number of a vendor SELECT SINGLE name1 adrnr FROM lfa1 INTO it_vname WHERE lifnr EQ i_ekko-lifnr. *Accessing mail id of a vendor SELECT SINGLE smtp_addr FROM adr6 INTO it_vemail WHERE addrnumber EQ it_vname-adrnr. * Mail Text clear it_message. REFRESH it_message. CONCATENATE 'Dear' it_vname-name1 ',' INTO it_messagewa SEPARATED BY space. APPEND it_messagewa TO it_message. APPEND 'Please issue the items for the following PO Number .' TO it_message. CLEAR it_messagewa. CONCATENATE 'PO NUmber : ' i_ekko-ebeln INTO it_messagewa SEPARATED BY space. APPEND it_messagewa TO it_message. APPEND 'you can view it at www.mindteck/sap/mm/login.' TO it_message. APPEND 'Regards,' TO it_message. APPEND 'Anand.' TO it_message. * Fill the document data. gd_doc_data-doc_size = 1. * Populate the subject/generic message attributes gd_doc_data-obj_langu = sy-langu. gd_doc_data-obj_name = 'SAPRPT'. gd_doc_data-obj_descr = psubject. gd_doc_data-sensitivty = 'F'. * Describe the body of the message CLEAR it_packing_list. REFRESH it_packing_list. it_packing_list-transf_bin = space. it_packing_list-head_start = 1. it_packing_list-head_num = 0. it_packing_list-body_start = 1. DESCRIBE TABLE it_message LINES it_packing_list-body_num. it_packing_list-doc_type = 'RAW'. APPEND it_packing_list. * Add the recipients email address CLEAR it_receivers. REFRESH it_receivers. it_receivers-receiver = it_vemail-email. it_receivers-rec_type = 'U'. it_receivers-com_type = 'INT'. it_receivers-notif_del = 'X'. it_receivers-notif_ndel = 'X'. APPEND it_receivers. * Call the FM to post the message to SAPMAIL CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1' EXPORTING document_data = gd_doc_data put_in_outbox = 'X' commit_work = 'X' IMPORTING sent_to_all = gd_sent_all * NEW_OBJECT_ID = TABLES packing_list = it_packing_list * OBJECT_HEADER = * CONTENTS_BIN = contents_txt = it_message * CONTENTS_HEX = * OBJECT_PARA = * OBJECT_PARB = receivers = it_receivers 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 ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. * Store function module return code gd_error = sy-subrc. * Get it_receivers return code LOOP AT it_receivers. ENDLOOP. ENDIF.
Serkan AKKAVAK Computer Engineer ABAP Developer & SAP MM SD Consultant Contact : serkurumsal@yandex.com
Social Plugin