#1
|
|||
|
|||
Mandar un alv por correo en un job
Hola,
queremos ejecutar un programa abap a través de un job, y que el resultado del alv se mandé por correo. ¿Hay que hacer algo en el alv para que el job sepa que tiene que mandar el informe por correo? Muchas gracias. Un saludo. |
#2
|
||||
|
||||
Hola,
Lo sencillo sería picar el código en el report para enviar el mail, ¿no? Un saludo
__________________
Florentín Navarrete Moya SAP HCM Consultant Mail: Blog: |
#3
|
|||
|
|||
Esa es la duda que tenía. NO sabía si indicando en el job que se quiere mandar algo por mail ya él recogía el resultado y lo generaba o había que crear código para ello.
Voy a buscar entonces cómo mandar algo por mail desde código. Muchas gracias. |
#4
|
||||
|
||||
La opción que yo he usado para esto es usar los datos del ALV en un formulario SMARTFORM, luego pasarlo a PDF y a continuación agregar el dicho PDF a un Mail.
SALUDOS.
__________________
Barrio Rodriguez, Jonathan. _____________________________________
"No sigas a quien haya encontrado la verdad sino a quien la busque"
|
#5
|
||||
|
||||
Puede ser con esta funcion
Hola, podrias utilizar esta funcion que permite enviar reportes alv en formato XLS o PDF.
*----------------------------------------------------------- DESCRIBE TABLE objtxt LINES w_lines. CLEAR reclist. reclist-receiver = 'destinatario@correo.com'. reclist-express = 'X'. reclist-rec_type = 'U'. reclist-copy = 'X'. APPEND reclist. " aqui va la lista de destinatarios. CONCATENATE 'Sociedad' 'Usuario' 'Fecha Venc' 'Ejercicio' 'Solicitud' 'Secuencia' 'Cliente' 'Razón Social' 'Importe ' 'Banco' INTO i_contents_bin SEPARATED BY con_tab. CONCATENATE con_cret i_contents_bin INTO i_contents_bin. APPEND i_contents_bin. APPEND i_contents_bin. APPEND i_contents_bin. APPEND i_contents_bin. DESCRIBE TABLE objtxt LINES w_lines. objpack-transf_bin = ' '. objpack-head_start = 1. objpack-head_num = 0. objpack-body_start = 1. objpack-body_num = w_lines * 255. objpack-doc_type = 'RAW'. objpack-obj_name = 'File.Xls'. objpack-obj_descr = 'Aqui ingresas el mensaje del correo '. APPEND objpack. DESCRIBE TABLE i_contents_bin LINES objpack-body_num. objpack-transf_bin = 'X'. objpack-head_start = 1. objpack-head_num = 1. objpack-body_start = 1. objpack-doc_size = objpack-body_num * 255. objpack-doc_type = 'XLS'. " --> aqui le indicas el formato APPEND objpack. *------------------------------------------------ CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1' EXPORTING document_data = doc_chng "-> este es el asunto del mail put_in_outbox = 'X' "-> salida a sapoffice. commit_work = 'X' TABLES packing_list = objpack object_header = objhead contents_bin = i_contents_bin " contenido del alv. contents_txt = objtxt " nombre archivo adjunto receivers = reclist " lista 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. Espero te sirva el ejemplo
__________________
Jhon Riders Juscamaita Rico CONSULTOR SAP / ABAP4 DEVELOPER |
#6
|
|||
|
|||
Puedes recuperar el spool on una funcion sap en una tabla interna y esta tabla mandarla por mail con la funcion de enviar mails en formato ALI ( lista abap ).Pero para ello tienes que generar el job por codigo (l resultado es el listado tal cual)
Si puedes generar un segundo paso del job, podrias hacer un programa que recuperara y madara este listado (el resultado es tal cual tambien) Si el caso es mandar el mail en el propio programa y es este programa es el que se lanza por job simplemente pasandole la tabla del alv como adjunto en formato dat ( el resultado es un fichero de texto tabulado, que se puede habrir con excel, pero no es el listado tal cual) Úlima edición por Atlas fecha: 17/04/09 a las 21:51:07. |
#7
|
|||
|
|||
Muchas gracias a todos.
Voy a probar la función que inicialmente lo veo más sencillo, sobre todo con ese ejemplo tan completo, jeje. |
#8
|
|||
|
|||
ese alv generalmente se levanta del spool cuando lo generas, el tema es que no se si te va a dejar mandarlo por mail mediante un job, ya que sap restringe salida de datos a otros sistemas mediante jobs (como por ejemplo bajarlo a PC). Esto sucede porque no verifica a donde se manda y que se manda.
Saludos |
Herramientas | Buscar en Tema |
Desplegado | |
|
|