Hola a todos... me da errores un programa (listado) que lo quiero descargar a PDF
El report lo pinto con la sentencia write
WRITE:/3 'MANTENIMIENTO' INVERSE OFF.
WRITE:/8(12) 'PROGRAMADO', 30(20) 'REALIZADO EN FECHA', 60(20) 'PORCENTAJE'.
ULINE /7(12). "SUBRAYADO DE PROGRAMADO
WRITE:/3(11) 'NºTRABAJOS',
15(2) 'HH',
23(11) 'NºTRABAJOS',
34(2) 'HH',
55(11) 'NºTRABAJOS',
66(2) 'HH'.
WRITE:/3(11) GV_TR_PROGRAMADO,
14(7) GV_H_N_TR_PROGRAMADO,
23(11) GV_TR_REALIZADO,
34(7) GV_H_TR_REALIZADO,
55(11) GV_PORCENTAJE,
66(7) GV_H_PORCENTAJE.
WRITE:/3(26) 'REALIZADOS NO PROGRAMADOS'.
ULINE /3(26). "-------------------------
WRITE:/23(11) GV_NO_PROGRAMADOS,
34(7) GV_H_NO_PROGRAMADOS.
WRITE:/ 'TRABAJOS SIN REALIZAR O CON FECHA DE FTRA FUERA DE RANGO', P_LS_VIAUFKS_INGPR INTENSIFIED OFF.
lv_primera_vez = 'N'.
ENDIF.
FORMAT COLOR COL_KEY. "LISTA LAS ORDENES SIN REALIZAR
WRITE:/2(3) LS_SIN_REALIZAR-ILART,
6(12) LS_SIN_REALIZAR-AUFNR,
19(30) LS_SIN_REALIZAR-TPLNR, "30 UT
50(8) LS_SIN_REALIZAR-ARBPL, "8
69(10) LS_SIN_REALIZAR-GSTRP. "10
Lo que sale en la pantalla quiero, pulsando un boton "PDF" descargarlo en pdf,
* esta funcion, para recuperar los parametros (esta NO quiero que salga)
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
* report = 'ZIAOR091'
ARCHIVE_MODE = '3'
* destination = 'LOCL'
* copies = 1
* immediately = ' ' "jlc
* release = 'X'
* new_list_id = 'X'
* expiration = 3
* line_size = 164
* line_count = 58
* sap_cover_page = ' '
* cover_page = ' '
no_dialog = 'X'
IMPORTING
out_parameters = params
out_archive_parameters = archi_parameters
valid = valid
EXCEPTIONS
ARCHIVE_INFO_NOT_FOUND = 1
INVALID_PRINT_PARAMS = 2
INVALID_ARCHIVE_PARAMS = 3
OTHERS = 4.
IF valid = 'X' and sy-subrc = 0.
data: w_spool_nr like TSP01_SP0R-RQID_CHAR.
SUBMIT submitable TO SAP-SPOOL
SPOOL PARAMETERS params
ARCHIVE PARAMETERS archi_parameters
WITHOUT SPOOL DYNPRO.
* IMPORT w_spool_nr FROM MEMORY ID 'SPOOLTOPDF'.
ENDIF.
* Esta funcion la utilizo para el explorador d windows, esto lo hace bien
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SY-REPID
DYNPRO_NUMBER = SY-DYNNR
FIELD_NAME = 'PATH'
IMPORTING
FILE_NAME = P_FILE.
* Esta funcion para convertirlo en otf
options-tddest = 'LOCL'. "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."'C:\A\PRUEBA.PDF'.
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.
ELSEIF NOT P_FILE IS INITIAL.
MESSAGE I041(ZPM).
ENDIF.
Pero no me va.... NO SE COMO CREAR LA ORDEN SPOOL PARA DESCARGARLA EN PDF, ALGUNA AYUDA POR FAVOR.....
MUCHAS GRACIAS
El report lo pinto con la sentencia write
WRITE:/3 'MANTENIMIENTO' INVERSE OFF.
WRITE:/8(12) 'PROGRAMADO', 30(20) 'REALIZADO EN FECHA', 60(20) 'PORCENTAJE'.
ULINE /7(12). "SUBRAYADO DE PROGRAMADO
WRITE:/3(11) 'NºTRABAJOS',
15(2) 'HH',
23(11) 'NºTRABAJOS',
34(2) 'HH',
55(11) 'NºTRABAJOS',
66(2) 'HH'.
WRITE:/3(11) GV_TR_PROGRAMADO,
14(7) GV_H_N_TR_PROGRAMADO,
23(11) GV_TR_REALIZADO,
34(7) GV_H_TR_REALIZADO,
55(11) GV_PORCENTAJE,
66(7) GV_H_PORCENTAJE.
WRITE:/3(26) 'REALIZADOS NO PROGRAMADOS'.
ULINE /3(26). "-------------------------
WRITE:/23(11) GV_NO_PROGRAMADOS,
34(7) GV_H_NO_PROGRAMADOS.
WRITE:/ 'TRABAJOS SIN REALIZAR O CON FECHA DE FTRA FUERA DE RANGO', P_LS_VIAUFKS_INGPR INTENSIFIED OFF.
lv_primera_vez = 'N'.
ENDIF.
FORMAT COLOR COL_KEY. "LISTA LAS ORDENES SIN REALIZAR
WRITE:/2(3) LS_SIN_REALIZAR-ILART,
6(12) LS_SIN_REALIZAR-AUFNR,
19(30) LS_SIN_REALIZAR-TPLNR, "30 UT
50(8) LS_SIN_REALIZAR-ARBPL, "8
69(10) LS_SIN_REALIZAR-GSTRP. "10
Lo que sale en la pantalla quiero, pulsando un boton "PDF" descargarlo en pdf,
* esta funcion, para recuperar los parametros (esta NO quiero que salga)
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
* report = 'ZIAOR091'
ARCHIVE_MODE = '3'
* destination = 'LOCL'
* copies = 1
* immediately = ' ' "jlc
* release = 'X'
* new_list_id = 'X'
* expiration = 3
* line_size = 164
* line_count = 58
* sap_cover_page = ' '
* cover_page = ' '
no_dialog = 'X'
IMPORTING
out_parameters = params
out_archive_parameters = archi_parameters
valid = valid
EXCEPTIONS
ARCHIVE_INFO_NOT_FOUND = 1
INVALID_PRINT_PARAMS = 2
INVALID_ARCHIVE_PARAMS = 3
OTHERS = 4.
IF valid = 'X' and sy-subrc = 0.
data: w_spool_nr like TSP01_SP0R-RQID_CHAR.
SUBMIT submitable TO SAP-SPOOL
SPOOL PARAMETERS params
ARCHIVE PARAMETERS archi_parameters
WITHOUT SPOOL DYNPRO.
* IMPORT w_spool_nr FROM MEMORY ID 'SPOOLTOPDF'.
ENDIF.
* Esta funcion la utilizo para el explorador d windows, esto lo hace bien
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SY-REPID
DYNPRO_NUMBER = SY-DYNNR
FIELD_NAME = 'PATH'
IMPORTING
FILE_NAME = P_FILE.
* Esta funcion para convertirlo en otf
options-tddest = 'LOCL'. "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."'C:\A\PRUEBA.PDF'.
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.
ELSEIF NOT P_FILE IS INITIAL.
MESSAGE I041(ZPM).
ENDIF.
Pero no me va.... NO SE COMO CREAR LA ORDEN SPOOL PARA DESCARGARLA EN PDF, ALGUNA AYUDA POR FAVOR.....
MUCHAS GRACIAS

Comentario