Ver Mensaje Individual
  #2  
Viejo 14/06/11, 19:38:38
Avatar de Cryman
Cryman Cryman is offline
Junior Member
 
Fecha de Ingreso: nov 2006
Localización: Ezpeleta
Mensajes: 5
Thumbs up

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.
Responder Con Cita