PDA

Ver la Versión Completa : ayuda con Report para pasarlo a PDF


vamp_01
09/04/10, 15:37:31
Hola amigos foreros.....como estas?
tengo un problema, tengo un reporte que se muestra por pantalla y esta hecho con write para mostrar la data al usuario.
Bueno la exquisites que quiere el usuario es que quiere bajar ese mismo write que muestra por pantalla, llevarlo a PDF, me pueden ayudar.

De ante mano GRacias

gazparluna
09/04/10, 16:48:03
bueno encontre esto en una web pero nose si pueda poner links mejor te pongo el código:

**********************************************************************
* Definición de variables *
**********************************************************************
DATA: filesize TYPE i,
header LIKE thead,
options LIKE itcpo,
result LIKE itcpp,
otf LIKE itcoo OCCURS 0 WITH HEADER LINE,
lines LIKE tline OCCURS 0 WITH HEADER LINE,
lv_file TYPE string.

**********************************************************************
* Definición de la pantalla de selección *
**********************************************************************
SELECTION-SCREEN BEGIN OF BLOCK blq1 WITH FRAME TITLE text-t01.
PARAMETERS:
p_impre TYPE pri_params-pdest OBLIGATORY,
p_file TYPE rlgrap-filename OBLIGATORY DEFAULT ‘C:\PRUEBA.PDF’.
SELECTION-SCREEN END OF BLOCK blq1.



**********************************************************************
* Proceso principal *
**********************************************************************

*Se completa tabla lines con el contenido que queramos que tenga el archivo PDF
lines-tdline = ‘Este es el texto que aparecerá en el archivo PDF’.
lines-tdformat = ‘K’.
APPEND lines.

*Se obtienen y definen las opciones de formato del archivo
options-tddest = p_impre. "Nombre de impresora local
options-tdnewid = ‘X’.
options-tdgetotf = ‘X’.

CALL FUNCTION ‘PRINT_TEXT’
EXPORTING
device = ‘PRINTER’
dialog = ‘ ‘
application = ‘TX’
header = header
options = options
IMPORTING
result = result
TABLES
lines = lines
otfdata = otf
EXCEPTIONS
canceled = 01
device = 02
form = 03
options = 04
unclosed = 05
unknown = 06
format = 07
textformat = 08
communication = 09.

* Se convierte a PDF
CALL FUNCTION ‘CONVERT_OTF’
EXPORTING
format = ‘PDF’
max_linewidth = 132
IMPORTING
bin_filesize = filesize
TABLES
otf = otf
lines = lines
EXCEPTIONS
err_conv_not_possible = 1.

* Bajamos el archivo
lv_file = p_file.

CALL FUNCTION ‘GUI_DOWNLOAD’
EXPORTING
bin_filesize = filesize
filename = lv_file
filetype = ‘BIN’
* APPEND = ‘ ‘
* CODEPAGE = ‘ ‘
* NO_BYTEORDER_MARK = ‘ ‘
* IMPORTING
* FILELENGTH = c
TABLES
data_tab = lines
* FORMAT_TAB =
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6.


espero que te sirva.

Por cierto soy nuevo en este foro, tengo casi un año en abap, espero y pueda serles de ayuda.


saludos a todos

oarranzli
12/04/10, 07:06:08
Hola vamp01,

SAP provee del report estándar RSTXPDFT4 que permite descargar en PDF las órdenes de spool generadas.

Espero te sirva de ayuda.

Saludos.

sconoredhot
13/04/10, 13:01:13
Hola,
También puedes probar llamando a la función
CONVERT_ABAPSPOOLJOB_2_PDF
que convierte el spool a PDF

CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
src_spoolid = spoolno
no_dialog = no
dst_device = 'locl'
pdf_destination = 'T'
IMPORTING
pdf_bytecount = numbytes
pdf_spoolid = pdfspoolid
list_pagecount = list_count
btc_jobname = jobname
btc_jobcount = jobcount
TABLES
pdf = 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.

Saludos

vamp_01
16/04/10, 19:28:35
amigos mios, primero que nada muchas gracias por responder....
he probado todo lo que me han dicho....
pero aun sigue el problema ya sea por la funcion o por el programa...
nada de nada....
imprimo el spool que esta con la impresion horizontal y nada, pero genero un archivo en la spool que tiene la impresion vertical y lo hace sin problemas...
me pueden ayudar con estde nuevo problema, es decir, el pdf no se crea con la funcion pq el archivo en la spool esta horizonta....
ese es el tema...
atento a lo que me digan.....

Gracias

Chemo_666
16/04/10, 22:49:08
Tal vez suene muy simplista la respuesta, pero no te saldrá "mas barato" instalar un software que imprima a PDF? por decir el CutePDF Writer que es un freeware que bajas de la red. Cuando mandes imprimir seleccionas esa impresorá y voilá

Slds

vamp_01
19/04/10, 14:11:11
Gracias a todos....ya esta solucionado.....muchas gracias y me quedo con un respaldo del codigo...para futuras implementaciones...
gracias

vamp_01
19/04/10, 17:45:44
Amigos......ayuda tengo otro problema...
estoy ocupando la funcion 'CONVERT_ABAPSPOOLJOB_2_PDF' en un programa Z, pero cuando el reporte trae mas de 99 paginas, me pregunta si lo genero de fondo, le doy al boton si...y no me genera nada, es como que pierde los valores que les pase antes, y si le digo que no...se demora demasiado....
como puedo solucionar este problema?
Gracias