MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   función SO_DOCUMENT_SEND_API1 (envío mails) (foro/showthread.php?t=34681)

romario2 18/01/10 18:25:06

función SO_DOCUMENT_SEND_API1 (envío mails)
 
Hola Foro,

tengo que hacer una sustitución (user-exit) para este perform.

PERFORM U999(ZRGGBS000) IF FOUND .

Como este código es estandard, deduzco que no puedo tocarlo.

Mi desarollo está en el FORM y lo que no se muy bien es como pasarle los parámetros.

Os dejo el código , a ver si veis lo que me falta:









FORM u999.

*FORM u999 TABLES tab_contents_txt
* it_attach
* USING p_email
* p_mtitle
* p_format
* p_filename
* p_attdescription
* p_sender_address
* p_sender_addres_type
* CHANGING p_error
* p_reciever.


DATA: int_error TYPE sy-subrc,
int_receiver LIKE sy-subrc.


DATA: w_doc_data LIKE sodocchgi1,
chr_email LIKE somlreci1-receiver.

DATA:

tab_contents_txt LIKE solisti1 OCCURS 0 WITH HEADER LINE,
tab_packing_list LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
tab_receivers LIKE somlreci1 OCCURS 0 WITH HEADER LINE.

* Missatge: S'ha donat d' alta l' actuació' PROJ-PSPID PROJ-ZZDESCRIPCIO

DATA: chr_mtitle LIKE sodocchgi1-obj_descr.

* Omplenem el document de dades
w_doc_data-doc_size = 1.

* paràmetres del missatge
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = 'SAPRPT'.
w_doc_data-obj_descr = chr_mtitle .
w_doc_data-sensitivty = 'F'.

* Fill the document data and get size of attachment
* CLEAR w_doc_data.
* READ TABLE it_attach INDEX w_cnt.
* w_doc_data-doc_size =
* ( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
* w_doc_data-obj_langu = sy-langu.
* w_doc_data-obj_name = 'SAPRPT'.
* w_doc_data-obj_descr = ld_mtitle.
* w_doc_data-sensitivty = 'F'.
* CLEAR t_attachment.
* REFRESH t_attachment.
* t_attachment[] = it_attach[].


* cos del missatge
CLEAR tab_packing_list.
REFRESH tab_packing_list.
tab_packing_list-transf_bin = space.
tab_packing_list-head_start = 1.
tab_packing_list-head_num = 0.
tab_packing_list-body_start = 1.
DESCRIBE TABLE tab_contents_txt LINES tab_packing_list-body_num.
tab_packing_list-doc_type = 'RAW'.
APPEND tab_packing_list.

* Create attachment notification
* t_packing_list-transf_bin = 'X'.
* t_packing_list-head_start = 1.
* t_packing_list-head_num = 1.
* t_packing_list-body_start = 1.
*
* DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
* t_packing_list-doc_type = ld_format.
* t_packing_list-obj_descr = ld_attdescription.
* t_packing_list-obj_name = ld_attfilename.
* t_packing_list-doc_size = t_packing_list-body_num * 255.
* APPEND t_packing_list.

* destinatatis del mail
CLEAR tab_receivers.
REFRESH tab_receivers.
tab_receivers-receiver = chr_email.
tab_receivers-rec_type = 'U'.
tab_receivers-com_type = 'INT'.
* t_receivers-notif_del = 'X'.
* t_receivers-notif_ndel = 'X'.
APPEND tab_receivers.


* break-point.
CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
document_data = w_doc_data
put_in_outbox = 'X'
* SENDER_ADDRESS = SY-UNAME
* SENDER_ADDRESS_TYPE = 'B'
commit_work = 'X'
* IMPORTING
* SENT_TO_ALL =
* NEW_OBJECT_ID =
* SENDER_ID =
TABLES
packing_list = tab_packing_list
* OBJECT_HEADER =
* CONTENTS_BIN =
contents_txt = tab_contents_txt
* CONTENTS_HEX =
* OBJECT_PARA =
* OBJECT_PARB =
receivers = tab_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
.

* omplenem codi d' error
int_error = sy-subrc.
IF sy-subrc <> 0.

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.


* control codi dels receptors del mail
LOOP AT tab_receivers.
int_receiver = tab_receivers-retrn_code.
ENDLOOP.


ENDFORM. "U999

conrad10ar 18/01/10 19:11:09

Hola,

este link es probable que te sirva:

Saludos!

romario2 19/01/10 12:26:24

resolviendo
 
Hola foro,

ya llevo encarado este tema con el programa BCS_EXAMPLE_7:D
Veo que se envía un mail correctamente a la SOST.
Lo único que no me aparece es el contenido del mensaje.

¿Puede ser un tema de parametrización?:confused:

VLozano 19/01/10 13:40:42

De memoria no puedo ayudarte, y ahora no tengo tiempo de revisar antigüedades y adaptártelas para tu problema.

Pero si estás desesperado, échale un ojo a ésto:



(espero que no sea considerado propaganda... además, está en inglés y hace meses o años que nadie lo toca, así que no es "competencia" de este foro :P)

Hay un enlace en el pie de la página a una entrada mucho más antigua y mucho más compleja que quizá te ayuda si el siguiente paso del martirio es anexar un fichero al correo ;)

romario2 19/01/10 17:53:45

gracias!
 
Merci Vlozano,

de momento estoy contento con el programa BCS_EXAMPLE_7. Ya lleva un excel incorporado. También resolví la incidencia que comentaba. Era un tema de parametrización o configuración de mi SAP GUI porque en el pc de una compañera si que puedo ver contenido del mail:p
Ahora la duda que tengo es que veo que este programa procesa un mail y lo envie y yo lo que tengo que hacer es procesar un GRUPO de mails.


Saludos!

jemsego 22/01/10 21:12:18

Solicitud
 
Que tal Romario, soy muy nuevo en ABAP, me interesa crear mi programa para enviar un correo electrónico, de momento solo quiero que envíe un texto, me podrias pasar un manual o un ejemplo sencillo de esto porafvor?, o alguien que me lo pueda hacer llegar porfavor,de antemano Gracias.

romario2 23/01/10 12:38:36

buenas
 
Hola,

bienvenido al mundo del sap!:D

Este programa de ejemplo te irá bien:

ves a la se38 y busca este report

BCS_EXAMPLE_7



Saludos abaperos!:p

romario2 25/01/10 14:09:32

para Vlozano
 
Hola Vlozano,

en la cj20n el campo de estatus de usuario no es obligatorio,
en cambio cuando activo mi user-exit, me aparece un mensaje de error
como si este campo fuera obligatorio y no me deja guardar la subactuacion creada.

Mensaje:

"Para PEP xxxxxxx NO EXISTE NINGÚN OBJETO DE ESTATUS"

Al tratar de leer el status de un objeto (PEP LSA.00087/04) se produjo
un error de sistema: No existe ningún objeto de status para el número de
objeto TM0000000001PR.

es un tema de programación o bien de parametrización ?

VLozano 25/01/10 15:17:20

Dos cosas:

1- esto pertenece a otro hilo, el mensaje no tiene nada que ver con el envío de correos
2- el "Hola VLozano" sobra... aquí somos un montón de gente... que hayas tenido la desgracia de tener que leerme tanto no es motivo para que ignores al resto de mortales entre los que seguro hay muchos que saben mucho más que yo.

En todo caso, a mí me huele a parametrización, pero no soy experto en proyectos, así que lo dejo así :P

romario2 25/01/10 15:48:35

programa envíos
 
Hola Vlozano,

-disculpa que abuse de tus conocimientos. En mi proyecto no tengo con quien comentar estas cosas.
-la duda está relacionada con la user del programa de envíos, que bien conoces ya ;-).
-tu respuesta coincide también con lo que yo intuía, parece un tema de parametrización.
- me portaré bien, y no enviaré más mails personales.

Una vez más, gracias por tu ayuda:p


Husos Horarios son GMT. La hora en este momento es 01:08:28.

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