MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   procesar envío GRUPO de mails (foro/showthread.php?t=34731)

romario2 20/01/10 08:01:44

procesar envío GRUPO de mails
 
Hola,

el programa BCS_EXAMPLE_7 me envía un mail de una sola dirección a la transacción sost.

En el código leo:

PARAMETERS:
mailto TYPE ad_smtpadr
default 'pepito@ozu.es'.


** (objecte recipient)
recipient = cl_cam_address_bcs=>create_internet_address( mailto ).

* afegeix objecte recipient a la petició d' enviament
send_request->add_recipient( recipient ).

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

COMMIT WORK.

Ahora lo que necesito es hacer lo mismo pero que se envíe a todo un grupo
de usuarios, que tengo guardados en una tabla Z.


Saludos abaperos

VLozano 20/01/10 08:42:08

Yo te doy una pista, pero tú te comprometes a mirarte el programa más a fondo. Así la próxima vez te ahorras la pregunta :)


Pista: intenta hacerlo DOS veces.

Y ahora lo que tienes que hacer en agradecimiento a la pista :P

haz doble-clic sobre el método add_recipient. Aparecerá una definición de método con otro CALL METHOD... haz doble-clic sobre ese método. Hacia el final del código que aparece hay un INSERT. Échale un ojo, y sabrás por qué mi pista debería funcionar :)

romario2 20/01/10 13:33:17

thanks a lot!
 
Uauuu!
Vlozano muchas gracias!
Prometo que voy a hacer los deberes :D
Ten en cuenta que no tengo casi idea de programar en Abap Objects, suelo programar en el Abap clásico, el secuencial.


Hasta la próxima:)

romario2 20/01/10 16:41:02

insertar tabla en objeto recipiente
 
Hola Vlozano,

he hecho la investigación::o

He llegado a la sentencia que comentabas
INSERT re INTO TABLE recipients.

Veo que el método inserta registros en la tabla recipients.

Con abap clásico sería hacer algo así:

tab_intern2 [] = tab_intern1 [] .

Pero en Objects no se como se hace EL CÓDIGO...en teoría tengo que entregar hoy el desarrollo:(

Imagino que si le inserto los registros de mi tabla interna, luego este metodo irá procesando todos los mails, verdad?

Gracias de antemano

romario2 21/01/10 17:17:33

sigue la incidencia
 
Hola foro,
Hola Vlozano,

sigo sin encontrar la solución.
Incluso la colgé en el SDN



Si me puedes echar un cable, te lo agradecería

VLozano 22/01/10 07:14:25

Échale un vistazo a tu código ;)
Si vas a la SE11 (o haces doble clic sobre el tipo del parámetro "mailto", verás que es un tipo de datos char de 241 posiciones.

Por tanto, cualquier destinatario que quieras añadir puedes meterlo "a palote" (o mediante una variable del tipo ad_smtpadr):

PabloGP 22/01/10 08:05:17

Yo lo suelo hacer así.

DATA: BEGIN OF TI_CORREO OCCURS 0,
EMAIL_USER(30),
END OF TI_CORREO.

DATA WA_CORREO LIKE LINE OF TI_CORREO.


APPEND WA_CORREO-EMAIL_USER = 'aaaaaa@hotmail.com'.
APPEND WA_CORREO-EMAIL_USER = 'bbbbbb@hotmail.com'.
APPEND WA_CORREO-EMAIL_USER = 'cccccc@hotmail.com'.

LOOP AT TI_CORREO.
CLEAR RECLIST.
RECLIST-RECEIVER = TI_CORREO-EMAIL_USER.
RECLIST-EXPRESS = 'X'.
RECLIST-REC_TYPE = 'U'.
APPEND RECLIST.
ENDLOOP.

*.- ES: Funcion que envia del email
*.- EN: Function: 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 = OBJPACK
OBJECT_HEADER = OBJHEAD
CONTENTS_BIN = OBJBIN
CONTENTS_TXT = OBJTXT
RECEIVERS = RECLIST
EXCEPTIONS
TOO_MANY_RECEIVERS = 1
DOCUMENT_NOT_SENT = 2
OPERATION_NO_AUTHORIZATION = 4
OTHERS = 99.

Pruebalo y me comentas.

Un saludo.

PabloGP 22/01/10 08:11:23

Con las prisas puse mal los APPEND.... :o

WA_CORREO-EMAIL_USER = 'aaaaaa@hotmail.com'.
APPEND WA_CORREO TO TI_CORREO.
WA_CORREO-EMAIL_USER = 'bbbbbb@hotmail.com'.
APPEND WA_CORREO TO TI_CORREO.
WA_CORREO-EMAIL_USER = 'cccccc@hotmail.com'.
APPEND WA_CORREO TO TI_CORREO.

Tu imagino que haras un Select a tu tabla Z para rellenar la tabla interna.

romario2 22/01/10 08:34:50

Gracias
 
Muchas gracias PabloGP y Vlozano!

Voy a probar vuestros consejos, ya os diré algo cuando lo tenga


Saludos abaperos:p !

romario2 22/01/10 08:51:53

buenas
 
Hola Vlozano,

yo tengo una tabla interna con 1 campo que es el de direcciones de mail.
Esa variable de tipo char no creo que funcione para una lista de mails.
Desconozco el código que hay que hacer en Abap Objetos para enchufar esos mails y que se procese bien el método. Miré dentro del método e hize alguna prueba, sin resultado.

Saludos !


Husos Horarios son GMT. La hora en este momento es 06:12:31.

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