#1
|
|||
|
|||
Envio de Email atraves de Outlook
Muy buenas tardes foro, quisiera saber que funcion puedo utilizar para enviar correo desde SAP atraves de Outlook, agradezco mucho a quien pueda ayudarme.
Saludos... |
#2
|
||||
|
||||
Hola abapero,
Te transcribo el siguiente programa ejemplo que envía un email utilizando el sapmail de sap por si te vale. *&---------------------------------------------------------------------* *& Form SEND_MAIL *&---------------------------------------------------------------------* * send email to current user * *----------------------------------------------------------------------* FORM SEND_MAIL. * PARAMETERS FOR SO_NEW_DOCUMENT_SEND_API1 DATA: W_OBJECT_ID LIKE SOODK, W_SONV_FLAG LIKE SONV-FLAG. DATA: T_RECEIVERS LIKE SOMLRECI1 OCCURS 1 WITH HEADER LINE, W_OBJECT_CONTENT LIKE SOLISTI1 OCCURS 1 WITH HEADER LINE, W_DOC_DATA LIKE SODOCCHGI1 OCCURS 0 WITH HEADER LINE. * DATA: W_DATE(10). CLEAR T_RECEIVERS. T_RECEIVERS-RECEIVER = SY-UNAME. T_RECEIVERS-REC_TYPE = 'B'. T_RECEIVERS-EXPRESS = ' '. APPEND T_RECEIVERS. W_DOC_DATA-OBJ_DESCR = 'Change Expiry date'. * Delivery NO CONCATENATE 'Delivery No' M_VMVMA-VBELN INTO W_OBJECT_CONTENT SEPARATED BY ' '. APPEND W_OBJECT_CONTENT. * material Batch CONCATENATE 'Material' ZGREC-MATNR 'Batch' ZGREC-CHARG INTO W_OBJECT_CONTENT SEPARATED BY ' '. APPEND W_OBJECT_CONTENT. * Expiry date WRITE B_VFDAT TO W_DATE DD/MM/YYYY. CONCATENATE 'Change expiry date to' W_DATE INTO W_OBJECT_CONTENT SEPARATED BY ' '. APPEND W_OBJECT_CONTENT. * CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1' EXPORTING DOCUMENT_DATA = W_DOC_DATA PUT_IN_OUTBOX = ' ' TABLES OBJECT_CONTENT = W_OBJECT_CONTENT RECEIVERS = T_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. ENDFORM. " SEND_MAIL Un saludo
__________________
El consultor anteriormente conocido como dump |
#3
|
|||
|
|||
Y si no te sirve el programa de dump aquí te suscribo otro programa abap que demuestra como un email a una dirección de correo externo
*&---------------------------------------------------------------------* *& Report ZSENDEMAIL * *& * *&---------------------------------------------------------------------* *& Example of sending external email via SAPCONNECT * *& * *&---------------------------------------------------------------------* REPORT zsendemail . PARAMETERS: psubject(40) type c default 'Hello', p_email(40) type c default 'test@sapdev.co.uk' . 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. data: it_message type standard table of SOLISTI1 initial size 0 with header line. *********************************************************************** *START-OF-SELECTION. START-OF-SELECTION. Perform populate_message_table. *Send email message, although is not sent from SAP until mail send *program has been executed(rsconn01) PERFORM send_email_message. *Instructs mail send program for SAPCONNECT to send email(rsconn01) perform initiate_mail_execute_program. *&---------------------------------------------------------------------* *& Form POPULATE_MESSAGE_TABLE *&---------------------------------------------------------------------* * Adds text to email text table *----------------------------------------------------------------------* form populate_message_table. Append 'Email line 1' to it_message. Append 'Email line 2' to it_message. Append 'Email line 3' to it_message. Append 'Email line 4' to it_message. endform. " POPULATE_MESSAGE_TABLE *&---------------------------------------------------------------------* *& Form SEND_EMAIL_MESSAGE *&---------------------------------------------------------------------* * Send email message *----------------------------------------------------------------------* form send_email_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 = p_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' importing sent_to_all = gd_sent_all tables packing_list = it_packing_list contents_txt = it_message 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. * Store function module return code gd_error = sy-subrc. * Get it_receivers return code loop at it_receivers. endloop. endform. " SEND_EMAIL_MESSAGE *&---------------------------------------------------------------------* *& Form INITIATE_MAIL_EXECUTE_PROGRAM *&---------------------------------------------------------------------* * Instructs mail send program for SAPCONNECT to send email. *----------------------------------------------------------------------* form initiate_mail_execute_program. wait up to 2 seconds. if gd_error eq 0. submit rsconn01 with mode = 'INT' with output = 'X' and return. endif. endform. " INITIATE_MAIL_EXECUTE_PROGRAM Un saludete al personal |
#4
|
||||
|
||||
En la zona de descargas tienes un programa para:
Función que permite mandar un mail externo a SAP utilizando las macros de Outlook. Un saludo
__________________
Si precisas una mano, recuerda que yo tengo dos. |
#5
|
|||
|
|||
Una pregunta, ambos de estos ejemplos, ya sea un mail destino interno de SAP o externo, usan si o si el mail origen q esta seteado en el user q ta logueado en el R3 o hay alguna posibilidad de configurar asi tambien un mail origen externo.
o sea quiero hacer un programa q cuando se modifiq algo. mande un mail desde hacia esto es posible ? porq solo veo parametros de destino en la funciones q se usan para mandar mails. Gracias |
#6
|
||||
|
||||
Si deseas enviar el origen del correo, debes usar otra función, por ejemplo la SO_OBJECT_SEND, (de hecho se utiliza dentro de SO_NEW_DOCUMENT_SEND_API1), aunque su uso es mas complicado.
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|