MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   PDF sin orden de spool (foro/showthread.php?t=38898)

mystic_soul 21/09/10 12:31:05

PDF sin orden de spool
 
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):

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


Husos Horarios son GMT. La hora en este momento es 14:24:53.

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