Hoy vamos a hablar de un tema antiguo y que aparece mucho en los foros, aunque, como casi siempre, con poca documentación en castellano. Me refiero a la configuración para permitir enviar correo electrónico desde un sistema Sap al exterior.
Desde la version 6.10 y superiores, el kernel de Sap contiene de forma nativa funciones para el procesamiento del correo via SMTP (incluidas en el ICM Internet Connection Manager). Vamos a ver la forma de preparar para que el sistema envie correo al exterior y algunos ejemplos de programación para generar estos envios desde nuestros propios desarrollos.
Nota: hemos de tener un servidor de correo interno (propio) o externo que permita el reenvio SMTP.
Configuración del Sistema.
En la nota 455140 del OSS se detallan paso por paso las tareas de configuración del sistema.
Ejemplo de envio de correo desde cualquier transacción:
1. Parametros del perfil de la instancia: a través de la transacción RZ10, incluiremos con el parámetro icm/server_port_X (donde X es un número secuencial para los diferentes puertos que configuremos: http, https, smtp, etc) el número de puerto TCP/IP (25 por defecto) y el protocolo (SMTP).
2. Activación de servicios: a través de la transacción SICF, comprobaremos que tenemos nuestro nodo SMTP configurado y activado. Aquí se relaciona el servicio con el puerto del ICM que hemos configurado en el paso anterior.
3. Configuración del Sap Connect: a través de este paso conectamos el nivel de aplicación (por ejemplo Sap Office) con el nivel ICM (nivel técnico). La gestión de esta configuración se realiza desde la transacción SCOT. Hay que realizar la configuración en cada mandante. Siempre se crea de forma automática un nodo SMTP, que tendremos que ajustar para indicarle los parametros del servidor de correo saliente que utilizaremos para enviar los correos desde la pasarela Sap.
Haciendo donde clic en el nodo SMTP configuraremos la IP y el puerto del servidor de correo saliente, si hay que realizar alguna conversión de codigos de pagina (juegos de caracteres) y los tipos de dirección soportados (en este caso Internet).
A nivel de detalle, configuraremos los dominios a los que se pueden enviar correos (* sera a todos), y los formatos de envio de los documentos enviados de Sap (al enviar formulario o listados por correo, aquí indicamos en que formato se construiran los anexos que los contengan: pdf, txt, htm, etc).
La transacción SCOT también nos permite monitorizar los correos que estan en cola e iniciar los procesos de envio (y planificar el Job de envio automatico de correos, que se ejecutara con la regularidad deseada para que los correos vayan saliendo de la cola interna a la cola del servidor de correo).
4. Monitorización del envio de correos externos: con la transacción SOST podemos gestionar los correos que tenemos en cola para envio externo: ver correos pendientes y enviados, visualizar los mensajes, analizar errores, etc.
5. Asignación de cuentas de correo a los usuarios del sistema: estas cuentas serán las utilidas con remitentes de los correos que salgan al exterior. Desde la transacción SU01, habra que indicar en todos los usuarios que vayan a enviar correo su cuenta, que sea utiliza como remitente de los correos que se envien.
Envio de correo desde las aplicaciones.
Una vez realizada toda la configuración, ya podremos enviar correos de la forma habitual:
- Sap Office: desde la transacción SBWP podremos crear nuestros mensajes, que podrán incluir usuarios Sap (que recibiran los mensajes en el propio Sap a través de la misma transacción) o bien a destinatarios externos (indicado su cuenta de correo electrónico).
- Aplicaciones: en todos los informes donde tengamos disponible la opción de menú Lista –> Enviar, podremos crear un mensaje en el cual se anexara como documento el listado o tabla ALV que estemos procesando.
Envio de correo desde nuestros desarrollos.
Tenemos multitud de formas de poder enviar correos en nuestros programas. En la Wiki del SDN de Sap hay una completa lista.
Templates de ejemplo proporcionados por Sap:
SAP provides the following programs, which are in fact templates because they can't be executed as is (email is hardcoded for example):
-
BCS_EXAMPLE_1: send a simple text provided as an internal table of text lines to joe.doe@crazy-company.com
-
BCS_EXAMPLE_2: send a simple text provided as an internal table of text lines and text attachment in form of text lines itab to fax DE 09999-123456
-
BCS_EXAMPLE_3: send a simple text provided in an internal table of text lines and an additional note to SY-UNAME
-
BCS_EXAMPLE_4: send a simple text provided in an internal table of text lines recipients are selected in dialogue (default joe.doe@crazy-company.com)
-
BCS_EXAMPLE_5: a simple text provided in an internal table of text lines and an attached MS word document provided in internal table SOLIX_TAB (document retrieval has to be coded) to joe.doe@crazy-company.com
-
BCS_EXAMPLE_6: enter customer, carrier (flight demo data) and email, and generate corresponding FP_TEST_03 adobe form, and send it as attachment to the email
-
SENDLIST_BCS: provided as attachment in SAP Note 190669 - Sending lists using SAPconnect, it uses SO_DOCUMENT_SEND_API1
-
SENDLIST_BCS: provided as attachment in SAP Note 190669 - Sending lists using SAPconnect, it uses CL_BCS
-
ZSSO_DOCUMENT_SEND_API1_46 and ZSSO_DOCUMENT_SEND_API1_610: provided as attachment in SAP Note 609696 - SAPoffice: Error in documentation (SO_DOCUMENT_SEND_API1). There are 2 versions, one for 4.6C, and one for 6.10 and above, the difference between the 2 is only the addition of COMMIT_WORK parameter for 6.10 version. Both call SO_DOCUMENT_SEND_API1.
-
RSWNSENDMAIL1: demo of SO_NEW_DOCUMENT_ATT_SEND_API1.
Ejemplos de programas del SDN, utilizando los siguientes elementos:
Referencias:
- Postalmethods.com: configuración del envio de correo saliente desde Sap.
- Thomas Jung: envio de correo desde Abap en version 6.10 y superiores.
- Thomas Jung: envio de correo desde Abap en versiones 4.6D e inferiores.
- Thomas Jung: recepcion de correo en Sap y su procesamiento en Abap.
- Dataxstream.com: configuración de Sap connect.
- Snippets: envio de correo desde Abap usando programacion orientada a objetos.
- Wiki SDN: resumen de elementos Abap para envio de correo electronico (modulos de función).
Un saludo ante todo y felicitándote por tu página la cual ayuda en mucho. Mi duda es la siguiente. Ya configure en envió automático de la orden de compras luego de que se grabe si no entran en estrategia de liberación si cae en estrategia solo se envía luego de que la liberen todo bien. pero ahora se me solicita que como el envió de la retención va a un departamento de la empresa proveedora y la orden de compra a otro. departamento. Entonces en el maestro de proveedor habrá dos correos. como hago para que sao me tome el de compras para enviar la OC. Seguro de contar con tu respuesta me despido José Sira Consultor MM en venezuela. gracias
Hola amigo Jose Sira, oye una pregunta como le hiciste para que se envie el correo automaticamente tan luego te liberen la OC, yo necesito enviarla la OC automaticamente tan luego me la liberen, pero a una cierta lista de direciones de correo no justamente la de mi provedor si no otras direcciones de usurios internos y algunas otras direcciones de correo.
Hola Victor! Me está pasando esto mismo, como pudiste resolver en ese momento?
Hola! gracias por el post, muy completo, gracias a este y a la nota de SAP 455140, he intentado configurar el envío de correos desde SAP, lo que necesitamos es solo que envíe, no que reciba. Creo un correo a enviar a alguna dirección y me da este error:
Status received for this document:
prueba
Sent on:
14.11.2012 14:07:45
Sent by:
Yorleni Jimenez
Status for Recipient yorleni_jimenez@yahoo.com:
Cannot process message; no node determined for yorleni_jimenez@YAHOO.COM
Por favor si alguien me puede ayudar, según lo revisado acá y en la nota no debería faltarme nada.
Mi correo es yorleni_jimenez@yahoo.com
Gracias
Hola Yorleni:
Necesitas tener un servidor de correo interno que te haga de pasarela para sacar el correo al exterior (internet). Esto no funciona enviando directamente a Yahoo o Google.
Un saludo.
Roberto, ese error ya lo solucioné, pero ahora tengo:
Cannot process message in SAP System
Message no. XS817
Diagnosis
Processing could not be continued due to a technical or configuration error in the SAP system.
System Response
Processing was terminated.
Procedure
Processing was terminated in the SAP system. The reason is given in the details below:
Error during generation of MIME document
Entonces, hay que crear la ruta en el servidor de correo, como dice la nota 455140?
Mira esta entrada en el SCN de Sap. Habla sobre tu error:
https://scn.sap.com/message/9727163
Un saludo.
Gracias Roberto! no es exactamente el mismo error, pero verifiqué la transacción SMICM y efectivamente también yo tenía el campo del puerto SMTP en 0, así que agregué el parámetro rdisp/start_icm = TRUE y perfecto, ya me salió el puerto 25. Aún así no se solucionó el problema, sigue el mismo error exactamente. Voy a hablar con el administrador del servidor de correos para que agregue la ruta en el server a ver si esto me soluciona el error. Les mantengo informados.
Gracias nuaevamente!
Hola de nuevo!! para comentarles que ya solucioné ESE problema, ahora tengo otro jeje, Pero quiero dar los avances por si alguien más está pasando por esto.
No tenía configurado el dominio por defecto, se hace acá:
SCOT -> Settings -> Default domain.
Ahora tengo el siguiente error:
Sin entrega a yorleni_jimenez@yahoo.com, ya que autentificación es obligatoria
Nº mensaje: XS853
Diagnóstico
El mensaje se ha procesado con éxito en el sistema SAP. El servidor de correo electrónico que debe recibir el mensaje para su posterior procesamiento solicita una autentificación. El sistema SAP no soporta este procedimiento. Por este motivo no se ha entregado el mensaje al destinatario yorleni_jimenez@yahoo.com.
Información del sistema externo
530 Authentication required
Procedimiento
Las parametrizaciones de administración deben modificarse. El servidor de correo electrónico parametrizado no puede solicitar autentificaciones.
Este ya si parece ser que falta la configuración por parte del email server, voy a investigar un poco. Roberto, si tienes alguna idea se te agradece.
Hola Yorleni:
Esto es lo que te comentaba en mi anterior respuesta. Para poder enviar desde Sap necesitas un servidor de correo que te haga de pasarela que no necesite autentificacion. Por eso te decia lo de que tenia que ser tu servidor de correo interno, que tengais dentro de la misma empresa. y el correo desde Sap saldrá a traves de este servidor de correo.
pero no te vale hacerlo a traves de un servidor tipo yahoo, google o hotmail, que requieren autentificación para poder enviar correo.
Un saludo.
Hola Roberto, yo estoy haciendo las pruebas con mi servidor de correo de la empresa, mail.miempresa.com y en la SU01 de mi usuario tengo mi cuenta yjimenez@miempresa.com. Las pruebas de los correos que envío si lo estoy haciendo a yahoo, a mi cuenta personal, para confirmar su llegada, cuando funcione, como en yahoo llega todos los correos, en cambio en mi cuenta de la empresa muchos correos son marcados como spam y no llegan. Me expliqué?
Hola de nuevo:
Cuando se envian los correos desde Sap, Sap es una mera pasarela hacia tu servidor de correo. TU servidor de correo es el que procesa lo que Sap le envia y decide si lo lleva a Spam o no (según las reglas antispam).
Eso ya no tiene nada que ver con Sap.
Un saludo.
Mil gracias Roberto 😀 leí que si, deben tener una relación de confianza y según entiendo en el parámetro icm/server_port_1 debo colocar la IP del servidor de correos. Nosotros tenemos el servidor de correos contratado con una empresa que nos brinda el servidor, ya subí un caso para que puedan realizar dicha configuración en el server y me pasen la IP para terminar la configuración. Espero que con esto ya se me solucionen todos los problemas jeje. Mil gracias de nuevo y muy útil tu ayuda. Comentaré de nuevo cuando ya tenga configurado lo que falta.
Hola Roberto! el servidor exchange de mi cliente requiere autenticación, por supuesto no me funciona mi configuración, me da error, pero sabes de alguna nota o documentación que diga que SAP no soporta la configuración para poder tener yo un respaldo y que ellos deban realizar algo en su servidor para que funcione. Te dejo el error por si ves que este es de otra configuración faltante:
Mensaje no puede transferirse definitivamente a nodo SMTP por error conexión
Nº mensaje: XS816
Diagnóstico
Debido a una avería técnica no ha sido posible establecer la conexión con el destino XXXX.local: 25. En consecuencia, el mensaje no ha podido transferirse al nodo SMTP.
Actividades en el sistema
El sistema no ha podido transferir el mensaje.
Información adicional del nodo utilizado (si está disponible, en el idioma de sistema del nodo):
Procedimiento
Verifique la conexión del Sistema SAP con el nodo SMTP. Posiblemente el nodo no esté asignado al destino correcto. En caso necesario, corrija este error en el Customizing.
Para mayor seguridad, debería efectuar un rerouting provisional en otro nodo en el sistema operativo productivo.
Informe al responsable del sistema.
Hola de nuevo Roberto, ese error lo solucioné, era un error en el nombre del servidor de email en la transacción SCOT. Ahora bien, ya envía los correos a las cuentas internas del clientes pero para cuentas externas no funciona. estamos buscando la configuración que debe tener el exchange para direccionarlas afuera.
Gracias
Buenas tardes, sabes que me sale el siguiente error al enviar un correo Sin entrega a servimaniaventas@gmail.com, ya que el
destinatario es desconocido
lo extraño es que ayer se envio un correo por esta misma via (sost) y no tuve problemas que puede ser???
saludos.
Podrias tener algun problema en el servidor de correo al que envias desde la pasarela de Sap. ¿Has revisado eso?
Spot on with this write-up, I seriously feel this website needs much more attention.
I’ll probably be back again to read through more, thanks for the info!
Hola Roberto, quizas me puedas ayudar. Ya tengo configurado el envio de mensajes de OC despues de liberar, se envian automaticamente al proveedor, hasta ahi todo perfecto. Lo que yo necesitaria ahora es que se envie tambien una copia de ese mail, a la casilla del comprador que genero el pedido de compra.
Me podras dar una mano por favor?
Gracias!!
Estimado,
Es posible me envíes la configuración que hiciste para el envío automático de OC a proveedor?
Asimismo, pudiste lograr enviar una copia al generador del pedido?
Desde ya, estaré muy agradecido de tu gentil respuesta.
Saludos,
Hugo.
Hola! donde le coloco la direccion de correo del emisor a los avisos de pago?
En el usuario de Sap que realiza el proceso (transacción SU01).
Hola Roberto, nosotros tenemos configurado el envio de mails y nos va bien. Una de las opciones es mandar mails a los clientes cuando se realiza la fra. Para ello en la ficha del cliente tenemos puesto el mail. Puedo poner 2 mails o más, pero ¿cómo puedo hacer para que mande a todos los mails que ponga en la ficha del cliente?
gracias
mireia
Hola Roberto, nosotros tenemos configurado el envio de emails, pero nos hemos dado cuenta que en algunas ocaciones en los avisos de pago, no se genera el correo en algunos proveedores, como que al generar los pagos, a partir de x registro, ya no se generan los envios. Como puedo revisar que esta pasando, para realizar los ajustes necesarios. Me pudes dar algunos tips?
Muchas Gracias
Jesus
Hola Jesús como estas? Contame pudiste resolver este tema? por favor puedes darme tus impresiones, no logro que se disparen los email a los proveedores cuando le pagamos desde la F110. Gracias anticipadas, mi skype eveline.graterol
Hola amiga, te pudieron responder sobre ese caso?? necesito saber como se hace, urgente 😦
Hola Amigos, estamos tratando de implementar unos flujos mediante la transacción SBWP pero aunque el usuario tiene autorizada la transacción a través de un rol simple genera el mensaje de que no tiene autorización para la transacción. ademas de agregar la transacción a un rol es necesario configurar algo adicional?
Desde ya muchas gracias
Hola Carlos:
En esta transaccion, ademas de verificarse el objeto de autorizacion S_TCODE, se verifican tambien estos objetos:
S_BDS_DS BC-SRV-KPR-BDS: Autorizaciones para set de documentos
S_OC_DOC SAPOffice: Autorización para una actividad con documentos
S_OC_FOLCR SAPoffice: Autorización para crear carpetas generales
S_OC_ROLE SAPoffice: Propiedades del usuario SAPoffice
S_OC_SEND Objeto de autorización para enviar
S_OC_TCD SAPoffice: Autorizaciones de código de transacción
S_WFAR_OBJ SAP ArchiveLink: Autorizaciones para acceder a documentos
Seguramente por no tener el objeto S_OC_TCD te este dando el mensaje que no se tiene autorizacion a la transaccion.
Un saludo.
Hola Roberto,
Actualmente existe una necesidad en mi empresa de que se envíen automáticamente correos electrónicos hacia una cadena comercial, ya que es un requisito de dicha cadena recibir el correo de nuestra parte para proceder a realizarnos el pago correspondiente.
Lo que se tiene que enviar en el correo electrónico son los archivos .xml correspondientes a las facturas hacia la cadena, así como notas de crédito referenciadas a dichas facturas. De tal manera que cada correo contendría un .xml con sus correspondientes notas de crédito (también en formato .xml).
Quisiera saber si esto es posible? Con un cuerpo de correo (texto) diferente para cada correo enviado a la cadena, con un asunto distinto para cada correo también…
Lo que me causa mucha duda es cómo el sistema podrá darse cuenta que para alguna factura en particular ya se han generado sus correspondientes notas de crédito y en ese momento disparar o detonar el correo…?
Muchas gracias por tu ayuda y orientación.
Saludos.
Buenas tardes Roberto,
Excelente sitio de internet, he podido aprender muchas cosas de él. Por ahora se configuró el envío de correo, pero tenemos un problema. Para algunos usuarios se envía correctamente pero para otros, que tienen en la transacción SU01 un correo, ejemplo agomez@ph.com.mx; pero cuando revisamos en la sost aparece que se envía a uno diferente, ejemplo: dummy123@ph.com.mx
tendrás idea de por qué pasa esto?
Gracias!! y buena tarde
Buen día
Señor Roberto
Cordial saludo, quisiera que me asesorara.
Es que tengo un tema con el envío de peticiones de ofertas automáticamente al proveedor vía correo electrónico; me podrías apoyar con esta situación para que le lleguen las peticiones a los proveedores seleccionados. Gracias
Buenos dias,
Roberto queria hacerte una pregunta el tema es que no me guarda el trace de los envíos, me voy a la transacción sost/utilidades/seleccion de trace y me muestra los envíos pero cuando entro en alguno no hay contenido del trace ni los guarda en la carpeta local de logs del servidor, se te ocurre algo? muchas gracias de ante mano
SAludos y gracias
es posible configurar el envio con office 365?
Buenos dias, hemos tenido muchos inconvenientes con el envío de correo por la transacción FB15, agradecemos si nos pueden dar alguna luz que nos permita hacer este envio por correo electronico. Gracias
Buenos días
Tengo un inconveniente con el envío de correo en SAP
en el estatus se genero un error: «Mensaje no editable porque se ha sobrepasado el tamaño máximo»
la cuestión es que el tamaño del archivo anexo es de 187k en la descripción, pero cuando abro las propiedades del documento dice que el tamaño es de 190.995 byte, lo cual no es cierto, y por eso me genera el error, el basis administrador del sistema modifico el tamaño a 100 megas para envíos de documentos, pero se sigue presentando el error.
agradezco su ayuda.
hola,
soy usuario de SAP y busco la manera de configurar el sistema de manera que al finalizar una transacción VA01 (pedido) se envíe un mail al cliente correspondiente a modo de confirmación.
y que luego en el siguiente paso de terminar el pedido y obtener la «entrega de salida» también.
agradezco de antemano cualquier información o comentario.
saludos.
Buen día!
Tengo la siguiente consulta.
En la versión Hana, cuando un proveedor tiene varios mails cargados en su perfil, cómo se puede seleccionar distintos mails para enviarle a uno la petición de oferte, a otra casilla la orden de compra, etc.?
Muchas gracias!
Saludos.
Hola buen día, quiero saber si es posible (no enviar) correo si el resultado de la ejecución es cero líneas. gracias.
Buen día. Ante todo es mi deber agradecer tanta información y hacer notar la utilidad de esta página, gracias Roberto por el tiempo dedicado. Consulta… tras un upgrade todos los correos que enviamos solicitan aviso de entrega. Dónde parametrizo esta opción? Necesito desactivarla. Gracias de antemano!