Estoy tratando de crear una ventana de dialogo donde se lea un archivo adjuntado que pueden ser generados por MS word, Excel y PDF. Alguien sabe de algunas BAPIS, o Metodos de clases adecuadas para poder convertir los archivos en Binarios y poder enviarlo a un remitente en un correo.
De antemano muchas gracias
No entendí…
Podrías por favor explicar mejor el requerimiento de lo que se quiere hacer, y cómo se espera que reaccione el sistema? En dónde queres que haga tal cosa?
Para transformar yo utilizo esta función de conversión. Chequeala “SX_OBJECT_CONVERT_OTF_PDF”
Saludos
Alejandro
En Excel me funciona asi:
UPLOADING:
IF lv_ext_file EQ 'xls' OR lv_ext_file EQ 'xlsx'." TYPE File Upload
lv_ruta = ruta.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = lv_ruta
i_begin_col = '1'
i_begin_row = '1'
i_end_col = '200'
i_end_row = '5000'
TABLES
intern = xcel
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
"Upload Excel File into itab
LOOP AT xcel.
CASE xcel-col.
WHEN '0001'.
itab-fld1 = xcel-value.
Luego Confguro el Email de acuerdo a sus remitentes y cuerpo principal:
READ TABLE itab INTO wa_itab INDEX lv_lines.
ls_document_data-doc_size = ( lv_lines - 1 ) * 255 + strlen( wa_itab ).
ls_document_data-obj_descr = 'Email con archivo adjunto'.
ls_document_data-priority = '1'.
ls_document_data-obj_prio = '1'.
******************* ls_objpack-transf_bin = ' '.
SPLIT lv_ruta AT '\' INTO TABLE it_string.
DESCRIBE TABLE it_string LINES lv_nro_lineas.
READ TABLE it_string INTO wa_string INDEX lv_nro_lineas.
IF sy-subrc EQ 0.
ls_objpack-head_start = 1.
ls_objpack-head_num = 0.
ls_objpack-body_start = 1.
ls_objpack-transf_bin = 'X'.
ls_objpack-body_num = lv_lines. "* 255.
ls_objpack-doc_type = 'XLS'.
ls_objpack-doc_size = ls_objpack-body_num * 255.
ls_objpack-obj_name = wa_string-linea.
SPLIT wa_string-linea AT '.' INTO ls_objpack-obj_descr lv_ext_file.
* ls_objpack-obj_name = 'PRUEBA.xls'."'Cuadre_SVH_Criteria.xls'.
* ls_objpack-obj_descr = 'Pruebas'. " Nombre fichero
APPEND ls_objpack TO lt_objpack.
Luego con la BAPI lo enviamos:
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = ls_document_data
put_in_outbox = 'X'
commit_work = 'X'
TABLES
packing_list = lt_objpack
object_header = lt_objhead
contents_txt = itab
receivers = lt_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.
IF sy-subrc = 0.
MESSAGE 'El email se a enviado correctamente' TYPE 'I'.
ENDIF.
Quiero ese mismo proceso para archivos con formatos DOC, DOCX y PDF.
En este Link casi resuelvo el problema:
h_tps://archive.sap.com/discussions/message/13546484#13546484
Pero falla en la linea de apertura del SET de Data:
* get uploaded file details
>>>>> OPEN DATASET lv_file_path FOR INPUT IN BINARY MODE.
READ DATASET lv_file_path INTO l_xstring.
CLOSE DATASET lv_file_path.
Por favor @Alexis_Antoni, dale una leída a como usar el foro (en cuanto a formato, y cómo pegar los enlaces que son de SAP).
Este tema se cerró automáticamente 91 días después del último post. No se permiten nuevas respuestas.