MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Convertir formulario smartform a pdf y utilizar open dataset para bajarlo directorio (foro/showthread.php?t=66794)

minerva0112 18/04/13 20:54:53

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:confused: :confused: :confused: :confused:

vtsuchida 18/04/13 22:48:30

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

minerva0112 19/04/13 01:06:30


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

ballan 19/04/13 09:58:14

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

minerva0112 22/04/13 13:36:07



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.....:confused: :confused: :confused: :confused:

minerva0112 22/04/13 15:08:37


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


Husos Horarios son GMT. La hora en este momento es 15:09:06.

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