MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Descargar write en pdf (foro/showthread.php?t=72660)

manu_lolo27 01/10/14 11:09:56

Descargar write en pdf
 
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

sconoredhot 01/10/14 12:09:10

hola
 
Es que aca estás creando el spool

SUBMIT submitable TO SAP-SPOOL
SPOOL PARAMETERS params
ARCHIVE PARAMETERS archi_parameters
WITHOUT SPOOL DYNPRO.
* IMPORT w_spool_nr FROM MEMORY ID 'SPOOLTOPDF'.
ENDIF.

lo que necesitas es leerlo despues de esto (tabla tsp01)

Saludos

manu_lolo27 02/10/14 08:03:38

Ese era el problema, que no tenia la orden spool (NO LA CREABA)

Opte, por esta opcion

* se recupera la pantalla de seleccion
CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS'
EXPORTING
CURR_REPORT = sy-cprog
TABLES
SELECTION_TABLE = lt_seltab.

SUBMIT (sy-repid) TO SAP-SPOOL
SPOOL PARAMETERS gv_params
ARCHIVE PARAMETERS gv_archi_parameters
WITHOUT SPOOL DYNPRO
WITH SELECTION-TABLE lt_seltab
AND RETURN.

GET PARAMETER ID 'SPI' FIELD gv_l_spool_c.


Husos Horarios son GMT. La hora en este momento es 10:20:46.

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