#8
|
|||
|
|||
Error en archivo PDF (URGENTE)
Hola a todos,
estoy intentando mandar por correo un archivo pdf, que está en el servidor, porque se tiene que mandar en fondo. Guardo el fichero en una tabla interna tipo solix_tab y al intentar abrir el fichero desde el correo me dice aparece el siguiente mensaje: 'Error al abrir el documento. El archivo está dañado y no puede repararse'. Es bastante urgente, si alguien ha sido capaz de hacer lo que indico y me dice que es lo que hago mal. El código que estoy utilizando es este, por si alguien me puede echar una mano: DATA: lo_email TYPE REF TO cl_bcs, lo_email_body TYPE REF TO cl_document_bcs, lo_receiver TYPE REF TO if_recipient_bcs, lv_message TYPE soli_tab, lv_attachment_size TYPE soattchgi1-att_size, lt_hexa TYPE solix_tab. DATA: lv_send_result TYPE dtype. * Se traspasa el contenido del fichero PDF a la tabla interna OPEN DATASET sp_file FOR INPUT IN BINARY MODE. DO. READ DATASET sp_file INTO lv_conten. IF sy-subrc NE 0. EXIT. ENDIF. APPEND lv_conten TO lt_hexa. ENDDO. CLOSE DATASET sp_file. * Crear instancia lo_email = cl_bcs=>create_persistent( ). lo_email_body = cl_document_bcs=>create_document( i_type = 'HTM' i_text = lv_message i_subject = 'Asunto correo' ). lo_email->set_document( lo_email_body ). * Direccion de correo lo_receiver = cl_cam_address_bcs=>create_internet_address( mailto ). lo_email->add_recipient( i_recipient = lo_receiver i_express = 'X' ). lo_email->set_send_immediately( 'X' ). fich = sp_file. * Indicar el archivo adjunto y enviar lo_email_body->add_attachment( EXPORTING i_attachment_type = 'PDF' i_attachment_subject = 'Documento.pdf' i_attachment_size = lv_attachment_size i_att_content_hex = lt_hexa ). lo_email->send( EXPORTING i_with_error_screen = 'X' RECEIVING result = lv_send_result ). COMMIT WORK. Un saludo y muchas gracias, David. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|