PDA

Ver la Versión Completa : PDF sin orden de spool


mystic_soul
21/09/10, 12:31:05
Hola gente! como estan? espero que bien!!
Bueno, lo que necesito saber es si se puede crear un archivo PDF sin utilizar alguna orden de spool..
Mas que nada lo necesito para crear el pdf de un formulario sapscript de pedido de compras.. y como en el cliente resetean el numero de spool, entonces lo pierdo y crearia cualquier cosa..
Alguna sugerencia??

Desde ya se los agradezco!!

Saludos!!

Cryman
14/06/11, 19:38:38
Buscando exactamente lo mismo encontré lo siguiente que quizás te pueda servir:

DATA PDFTAB TYPE TABLE OF TLINE WITH HEADER LINE.
DATA DATAB TYPE TABLE OF ITCOO WITH HEADER LINE.
DATA struct TYPE ITCPO.

*To specify Printer name*
struct-tddest = 'LP01'.
*To access the SAP Script output in OTF format*
struct-tdgetotf = 'X'

* Para suprimir el cuadro de diálogo en SAP Script pidiendo información sobre la impresora,
* se asigna un espacio al parámetro DIALOG de la función OPEN_FORM
CALL FUNCTION 'OPEN_FORM'
EXPORTING
DEVICE = 'PRINTER'
DIALOG = space
OPTIONS = struct
...
EXCEPTIONS
...

CALL FUNCTION 'CLOSE_FORM'
TABLES
OTFDATA = DATAB[]
...

* y por último pasar a PDF
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
FORMAT = 'PDF'
IMPORTING
BIN_FILESIZE = BINFILESIZE
TABLES
otf = DATAB[]
lines = PDFTAB[]

*Luego se puede enviar por mail o realizar un download de la tabla PDFTAB que está en formato PDF
****************************DOWNLOADING THE PDF DATA*******************
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE = binfilesize
FILENAME = 'D:\myfile.pdf'
FILETYPE = 'BIN'
TABLES
data_tab = PDFTAB[]
...

*En caso de enviarlo por mail como adjunto recuerden pasar la tabla a 255 caracteres

DATA tl_objbin TYPE STANDARD TABLE OF solisti1.

* Transfer the 134-long strings to 255-long strings
CALL FUNCTION 'SX_TABLE_LINE_WIDTH_CHANGE'
EXPORTING
line_width_src = 134
line_width_dst = 255
TABLES
content_in = pdftab
content_out = lt_objbin
EXCEPTIONS
err_line_width_src_too_long = 1
err_line_width_dst_too_long = 2
err_conv_failed = 3
OTHERS = 4
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

FUENTE (Incluye el código completo): http://es.scribd.com/doc/454814/SAPSCRIPT-to-PDF

Espero que sea de utilidad para los próximos que buscan lo mismo