MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 03/09/09, 14:36:03
dpalavecino dpalavecino is offline
Junior Member
 
Fecha de Ingreso: abr 2008
Mensajes: 14
Unhappy Mail a varios Destinatarios

Buenos dias a todos, le comento que estoy teniendo problemas para enviar correos a Varios destinatarios ya que si le paso como parametro mas de una direccion de correo cancela en programa.
Agradeceria si alguien me puede orientar un poco.
Saludos

CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
document_data = w_doc_data
put_in_outbox = 'X'
sender_address = ld_sender_address
sender_address_type = ld_sender_address_type
commit_work = 'X'
IMPORTING
sent_to_all = w_sent_all
TABLES
packing_list = t_packing_list
contents_bin = t_attachment
contents_txt = it_message
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.

Demian M. Palavecino
Responder Con Cita
  #2  
Viejo 03/09/09, 16:42:20
martin89 martin89 is offline
Member
 
Fecha de Ingreso: may 2009
Mensajes: 53
Que tal,

mirá yo para enviar correos use esta función

* Sending the document
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = doc_chng
put_in_outbox = 'X'
commit_work = 'X'
TABLES
packing_list = lt_objpack
object_header = lt_objhead
contents_bin = lt_objbin
contents_txt = lt_objtxt
receivers = lt_reclist
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
operation_no_authorization = 4
OTHERS = 99.


IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.


donde en la tabla LT_RECLIST le paso los destinatarios
(la completé de esta manera). Seguramente vas a tener qe cambiar el campo REC_TYPE proqe yo use una lista de distribución.

LOOP AT lt_mails INTO le_mails.
lt_reclist-receiver = le_mails-grupo. "NOMBRE DE LA LISTA
lt_reclist-express = 'X'.
lt_reclist-rec_type = 'C'. "Usa lista de distribución.
lt_reclist-copy = 'X'.
APPEND lt_reclist.
ENDLOOP.




saludos!
Responder Con Cita
  #3  
Viejo 07/09/09, 16:36:48
Avatar de darona
darona darona is offline
Member
 
Fecha de Ingreso: jun 2006
Localización: Valencia, Spain
Mensajes: 44
Esa es la buena

La función buena es la que usa Martin89, ya que usa una estructura para los destinatarios a la que puedes añadir todos los que quieras (además puede enviar documentos adjuntos).

Si prefieres seguir usando la tuya tendrás que crearte una tabla interna o rango en el que introducir todos los destinatarios y hacer un loop para ir cambiando el destinatario, pero eso lo que hará es enviar el mismo mail varias veces, no un único mail a todos los destinatarios.

Espero que te haya servido de ayuda.

Saludos,
David.
Responder Con Cita
  #4  
Viejo 02/10/09, 21:10:37
fvergara fvergara is offline
Junior Member
 
Fecha de Ingreso: abr 2009
Mensajes: 14
Question Consulta maestros

Es posible tener un ejemplo de código de abap agradeceria mucho recien me inicio en el tema de abap y no veo un ejemplo mas completo.

Gracias de antemano
Responder Con Cita
  #5  
Viejo 05/10/09, 11:15:18
nievesmp nievesmp is offline
Member
 
Fecha de Ingreso: abr 2009
Mensajes: 95
form rellena_destinatarios
tables receptores structure somlreci1
changing sw_alguno.
*
data: begin of usu_rec occurs 2,
email like zsd_info_interf-email,
end of usu_rec.
sw_alguno = 'X'.
clear receptores.
* receptores-receiver = usu_rec-email.
receptores-receiver = 'usuario@prueba.com'.
receptores-rec_type = 'U'. "dirección internet
receptores-express = 'X'.
append receptores.
sw_alguno = 'X'.
clear receptores.
* receptores-receiver = usu_rec-email.
receptores-receiver = 'usuario@prueba.com'.
receptores-rec_type = 'U'. "dirección internet
receptores-express = 'X'.
append receptores.

endform. "rellena_destinatarios
* Aqui se acaban de cargar dos destinatarios, también se puede hacer con un loop direccionando a una tabla.

* En la parte donde pases la funcíon pasa la tabla de dsitinatarios:


call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
exporting
document_data = dat_asunto
put_in_outbox = 'X'
*>>>>>>>>> OJO: cuando es a una dirección externa es necesario activar
* el commit work; sino no se enviará nada:
commit_work = 'X'
* IMPORTING
* SENT_TO_ALL =
* NEW_OBJECT_ID =
tables
packing_list = dat_pack
object_header = dat_cab
contents_bin = dat_bin
contents_txt = dat_cuerpo
* CONTENTS_HEX =
* OBJECT_PARA =
* OBJECT_PARB =
receivers = receptores " Aquí va la tabla de destinatarios
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. "ENVIA_MENSAJE
Responder Con Cita
  #6  
Viejo 05/10/09, 13:40:37
ALNICO ALNICO is offline
Senior Member
 
Fecha de Ingreso: may 2009
Mensajes: 105
Saludos a todos y disculpen la intromision , pero ya que estan hablando de esta funcion me parecio pertinente pedir ayuda con este referente , estoy tratando de automatizar la transaccion sost que es donde va el correo una vez que se usa la funcion que se habla aqui , ahora el problema es que por mas que hago la grabacion no procesa el envio , podrian darme algunos tips o decirme como podria hacerlo ( sin neceisdad de job ) porque lo que se quiere que una vez que se envie envie el correo usando la funcion esta salga de una vez sin tener que esperar en sost .
Responder Con Cita
  #7  
Viejo 11/11/09, 23:06:31
Belerophonte Belerophonte is offline
Junior Member
 
Fecha de Ingreso: mar 2007
Mensajes: 11
Envio de correo a diferentes destinatarios

Hola a todos yo utilice lo siguiente, saludos

FORM send .
DATA lv_texto(30) TYPE c.

REFRESH main_text.

TRY.

* -------- create persistent send request ------------------------
send_request = cl_bcs=>create_persistent( ).

* -------- create and set document with attachment ---------------
* create document object from internal table with text
APPEND 'Pedidos próximos a vencer y vencidos' TO main_text.
CONCATENATE 'Grupo de Compras:' gc_tab
gv_ekgrp gc_tab
INTO lv_texto.
APPEND lv_texto TO main_text.
APPEND 'El contenido del reporte esta incluido en el archivo anexo' TO main_text.

document = cl_document_bcs=>create_document(
i_type = 'RAW'
i_text = main_text
i_subject = 'Pedidos próximos a vencer y vencidos' ).

* add the spread sheet as attachment to document object
document->add_attachment(
i_attachment_type = 'xls'
i_attachment_subject = 'Pedidos'
i_attachment_size = size
i_att_content_hex = binary_content ).

* add document object to send request
send_request->set_document( document ).

* --------- add recipient (e-mail address) -----------------------
* create recipient object
LOOP AT t_mailto INTO w_mailto.
recipient = cl_cam_address_bcs=>create_internet_address( w_mailto-mailto ).
* add recipient object to send request
send_request->add_recipient( recipient ).
ENDLOOP.



* ---------- send document ---------------------------------------
sent_to_all = send_request->send( i_with_error_screen = 'X' ).

COMMIT WORK.

IF sent_to_all IS INITIAL.
MESSAGE i500(sbcoms) WITH mailto.
ELSE.
MESSAGE s022(so).
ENDIF.

* ------------ exception handling ----------------------------------
* replace this rudimentary exception handling with your own one !!!
CATCH cx_bcs INTO bcs_exception.
MESSAGE i865(so) WITH bcs_exception->error_type.
ENDTRY.
ENDFORM. " SEND
Responder Con Cita
  #8  
Viejo 12/11/09, 11:59:05
yapbig yapbig is offline
Senior Member
 
Fecha de Ingreso: may 2007
Localización: San Nicolás, Argentina
Mensajes: 261
ALNICO:
Luego de que se ejecute todo el código que genera tu correo agrega el siguiente código y se va a enviar el mismo

SUBMIT rsconn01 WITH mode = 'INT'
WITH output = 'X'
AND RETURN.

Saludos cordiales,
__________________
Gustavo A. Biglia
Consultor SAP FI
Responder Con Cita
  #9  
Viejo 02/06/11, 10:03:50
sereyo sereyo is offline
Junior Member
 
Fecha de Ingreso: jun 2011
Mensajes: 2
hola,

quería haceros una consulta. Tengo el código tal y como lo tenéis puesto aquí para enviar un mail a varios destinatarios. El proble es que cuando se envían, lo hace correctamente, pero si yo entro en la SOST a visualizar el correo, veo que me crea un correo por cada destinatario que le paso a la función SO_DOCUMENT_SEND_API1.
En cada correo me pone la lista de destinatarios correcta, pero ¿por qué manda tantos correos como destinatarios? ¿me podrían ayudar?

Un saludo.
Responder Con Cita
  #10  
Viejo 02/06/11, 10:04:47
sereyo sereyo is offline
Junior Member
 
Fecha de Ingreso: jun 2011
Mensajes: 2
duda mail variso destinatarios

hola,

quería haceros una consulta. Tengo el código tal y como lo tenéis puesto aquí para enviar un mail a varios destinatarios. El proble es que cuando se envían, lo hace correctamente, pero si yo entro en la SOST a visualizar el correo, veo que me crea un correo por cada destinatario que le paso a la función SO_DOCUMENT_SEND_API1.
En cada correo me pone la lista de destinatarios correcta, pero ¿por qué manda tantos correos como destinatarios? ¿me podrían ayudar?

Un saludo.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 21:03:18.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web