|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Convertir formulario smartform a pdf y utilizar open dataset para bajarlo directorio
Estoy convirtiendo un formulario smartform a pdf y luego bajarlo a un directorio, cuando utilizo CALL FUNCTION 'GUI_DOWNLOAD', todo funciona perfecto, pero esto va ser realizado en proceso de fondo y al utilizar open dataset, genera error.
Favor que posible solución puedo aplicar en este caso. gracias |
#2
|
|||
|
|||
Hola, podrías poner algo de tu código para poder revisar el problema?
Asumo que tienes una tabla OTF, la cual has convertido previamente a formato PDF. Saludos |
#3
|
|||
|
|||
hola aqui te anexo g_texto = 'Listado de ingresos para la fecha:'. g_fecha = sy-datum. control_parameters-no_dialog = 'X'. output_options-tddest = 'PDF '. output_options-tdnewid = 'X'. output_options-tdimmed = 'X'. * g_ruta = 'C:\'. g_nombre = 'Lista'. CONCATENATE p_ruta g_nombre '.pdf' INTO g_archivo2. CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' EXPORTING formname = 'ZHRO_LSTD_NTFCCNS' IMPORTING fm_name = g_funcion EXCEPTIONS no_form = 1 no_function_module = 2 OTHERS = 3. IF sy-subrc = 0. CALL FUNCTION g_funcion EXPORTING ingrs = p_ingrs output_options = output_options control_parameters = control_parameters user_settings = ' ' TABLES it_ingresos = it_ingresos EXCEPTIONS formatting_error = 1 internal_error = 2 send_error = 3 user_canceled = 4 OTHERS = 5. ELSE. MESSAGE x016(rp) WITH 'Genere el Formulario'(030) 'ZHRO_LSTD_NTFCCNS'(031). ENDIF. SELECT SINGLE rqowner MAX( rqident ) AS rqident INTO (vl_uname, vg_n_spool) FROM tsp01 GROUP BY rqowner HAVING rqowner = sy-uname. SELECT SINGLE rqclient rqo1name INTO (vg_client, vg_name) FROM tsp01 WHERE rqident = vg_n_spool. CALL FUNCTION 'RSTS_GET_ATTRIBUTES' EXPORTING authority = 'SP01' client = vg_client name = vg_name part = 1 IMPORTING type = vg_tipo objtype = vg_tipo_obejto EXCEPTIONS fb_error = 1 fb_rsts_other = 2 no_object = 3 no_permission = 4. IF vg_tipo_obejto(3) = 'OTF'. * Convertir el spool en pdf, desde un fomulario CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF' EXPORTING src_spoolid = vg_n_spool no_dialog = ' ' IMPORTING pdf_bytecount = vg_numbytes_pdf pdf_spoolid = vg_pdf_spool_id btc_jobname = vg_job_name btc_jobcount = vg_job_id TABLES pdf = t_pdf EXCEPTIONS err_no_otf_spooljob = 1 err_no_spooljob = 2 err_no_permission = 3 err_conv_not_possible = 4 err_bad_dstdevice = 5 user_cancelled = 6 err_spoolerror = 7 err_temseerror = 8 err_btcjob_open_failed = 9 err_btcjob_submit_failed = 10 err_btcjob_close_failed = 11. ELSE. * Convertir el spool en pdf, desde una tabla de sap CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF' EXPORTING src_spoolid = vg_n_spool no_dialog = ' ' IMPORTING pdf_bytecount = vg_numbytes_pdf pdf_spoolid = vg_pdf_spool_id btc_jobname = vg_job_name btc_jobcount = vg_job_id TABLES pdf = t_pdf EXCEPTIONS err_no_abap_spooljob = 1 err_no_spooljob = 2 err_no_permission = 3 err_conv_not_possible = 4 err_bad_destdevice = 5 user_cancelled = 6 err_spoolerror = 7 err_temseerror = 8 err_btcjob_open_failed = 9 err_btcjob_submit_failed = 10 err_btcjob_close_failed = 11. ENDIF. DATA: w_lines TYPE tline. CONCATENATE p_ruta g_nombre '.pdf' INTO g_archivo2. OPEN DATASET g_archivo2 FOR OUTPUT IN TEXT MODE ENCODING DEFAULT IGNORING CONVERSION ERRORS. IF sy-subrc = 0. LOOP AT t_pdf INTO w_lines. TRANSFER w_lines TO g_archivo2 LENGTH 2500. ENDLOOP. ENDIF. CLOSE DATASET g_archivo2. gracias |
#4
|
|||
|
|||
Prueba a sustituir
OPEN DATASET g_archivo2 FOR OUTPUT IN TEXT MODE ENCODING DEFAULT IGNORING CONVERSION ERRORS. Por OPEN DATASET g_archivo2 FOR OUTPUT IN BINARY MODE .... De todas formas dinos el error exacto que te da para saber por donde van los tiros |
#5
|
|||
|
|||
hola gracias por responder, ya le cambie la opción al open data, pero ni siquiera me da error solo me da el msje que creo el pdf, pero no lo agrega al directorio..... |
#6
|
|||
|
|||
listo era la manera de como estaba declarando, es asi: DATA: ls_lines LIKE LINE OF lt_lines. DATA ld_ofile(100) TYPE c. ld_ofile = '\\veccsapp14\PB\Lista.pdf'. OPEN DATASET ld_ofile FOR OUTPUT IN BINARY MODE. LOOP AT t_pdf INTO ls_lines. TRANSFER ls_lines TO ld_ofile. ENDLOOP. CLOSE DATASET ld_ofile. gracias |
Herramientas | Buscar en Tema |
Desplegado | |
|
|