Aqui dejo un pequeño ejemplo de como leer la ultima orden Spool del Usuario actual, transformarla a PDF y luego bajarla al PC.
REPORT Y_TEST_PDF_A_PC.
*
*---------------------------------------------------------------------------------------*
* DECLARACION DE VARIABLES
*---------------------------------------------------------------------------------------*
*
*
*---------->>> Path + Nombre del Archivo de Salida
*
DATA : ld_archivo TYPE string VALUE 'C:\PASO\TEST_PDF_002.PDF'.
*
*---------->>>
*
DATA : ld_bin_filesize TYPE i.
DATA : ld_pdf_spoolid TYPE rspoid.
DATA : ld_otf_pagecount TYPE i.
DATA : ld_btc_jobname TYPE btcjob.
DATA : ld_btc_jobcount TYPE btcjobcnt.
DATA : ld_bin_file TYPE xstring.
DATA : it_arch_pdf TYPE STANDARD TABLE OF tline.
DATA : it_tsp01 TYPE STANDARD TABLE OF tsp01 WITH HEADER LINE.
*
*---------------------------------------------------------------------------------------*
* SELECCION DE DATOS - ULTIMA ORDEN SPOOL DEL USURIO
*---------------------------------------------------------------------------------------*
*
SELECT rqident INTO CORRESPONDING FIELDS OF TABLE it_tsp01
FROM tsp01
WHERE rqowner EQ sy-uname.
*
SORT it_tsp01 BY rqident DESCENDING.
*
READ TABLE it_tsp01 INDEX 1.
*
*---------------------------------------------------------------------------------------*
* CONVERTIR SPOOL A PDF
*---------------------------------------------------------------------------------------*
*
CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'
EXPORTING
src_spoolid = it_tsp01-rqident
no_dialog = ''
IMPORTING
pdf_bytecount = ld_bin_filesize
pdf_spoolid = ld_pdf_spoolid
btc_jobname = ld_btc_jobname
btc_jobcount = ld_btc_jobcount
TABLES
pdf = it_arch_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
OTHERS = 12.
*
*---------------------------------------------------------------------------------------*
* BAJAR EL ARCHIVO PDF AL PC
*---------------------------------------------------------------------------------------*
*
IF ( sy-subrc EQ 0 ).
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
bin_filesize = ld_bin_filesize
filename = ld_archivo
filetype = 'BIN'
TABLES
data_tab = it_arch_pdf
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6.
ENDIF.
*
*---------------------------------------------------------------------------------------*
*
Buena Tarde...
Existe tambien el programa Standard RSTXPDFT4 que si lo ejecutan en la se38 y le pasan el número de la orden spool convierte esa orden de impresión en un archivo PDF..
Normalmente se utiliza mucho para la documentación de los programas ABAP.
Saludos
Zpelos
Si, tienes razon....pero la finalidad de este pequeño ejemplo es poder agregarle mas funcionalidades, como guardar imagenes de
documentos legales en algun directorio sap via FTP, o atachar el archivo para enviarlo por correo...o lo que se quiera hacer
con este archivo..