sábado, 9 de agosto de 2014

Enviar un email en SAP con SO_NEW_DOCUMENT_SEND_API1

En este post os voy a comentar como podemos enviar un email en SAP de una forma muy sencilla. Utilizaremos el módulo de funciones SO_NEW_DOCUMENT_SEND_API1.

Este módulo de funciones nos da la posibilidad de enviar email a diferentes destinatarios, incluyendo asunto, cuerpo, destinatarios, etc. A continuación os dejo un ejemplo.

  DATA: maildata TYPE sodocchgi1.
  
DATA: mailtxt TYPE TABLE OF solisti1 WITH HEADER LINE.
  
DATA: mailrec TYPE TABLE OF somlrec90 WITH HEADER LINE.

  CLEAR: maildata, mailtxt, mailrec.
  
REFRESH: mailtxt, mailrec.



Ahora rellenamos el asunto del email y el cuerpo. El contenido del cuerpo es una tabla donde podremos cargar tantas lineas como necesitemos.

  maildata-obj_name = 'SAPRPT'.
  maildata
-obj_descr = 'Asunto del email'.
  
maildata-obj_langu = sy-langu.

  mailtxt
-line = 'Cuerpo del email...'.
  
APPEND mailtxt.


El siguiente paso es cargar la lista de destinatarios. En este caso hay solo uno, pero podriamos cargar los que fueran necesarios.

  mailrec-receiver = 'emaildestino@mail.com'.
  ailrec
-rec_type = 'U'. "La U indica que como destino estamos indicando un email
  
APPEND mailrec.



Finalmente ejecutamos el módulo de funciones pasando como parámetros los datos que hemos cargado previamente.

    CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
      
EXPORTING
        document_data              
= maildata
        document_type              
= 'RAW'
        put_in_outbox              
= 'X'
        commit_work                
= 'X'
      
TABLES
        object_header              
= mailtxt
        object_content             
= mailtxt
        receivers                  
= mailrec
      
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.

1 comentario:

Integración SAP

Cuando hablamos de SAP como sistema integrado que cubre toda la casuística de nuestro negocio estamos siendo bastante osados. Casi cualquier...