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
Úlima edición por Cryman fecha: 23/06/11 a las 15:08:32.
|