Autor Tema: Transformar Orden Spool a PDF  (Leído 6172 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Enrique.Borroni

  • Moderador_
  • Usuario Completo
  • *****
  • Mensajes: 86
    • Ver Perfil
Transformar Orden Spool a PDF
« en: 09 de Noviembre de 2012, 02:23:31 am »
Aqui dejo un pequeño ejemplo de como leer la ultima orden Spool del Usuario actual, transformarla a PDF y luego bajarla al PC.

REPORT Y_TEST_PDF_A_PC.
*
*---------------------------------------------------------------------------------------*
* DECLARACION DE VARIABLES
*---------------------------------------------------------------------------------------*
*
*
*---------->>>  Path + Nombre del Archivo de Salida
*
DATA : ld_archivo             TYPE string VALUE 'C:\PASO\TEST_PDF_002.PDF'.
*
*---------->>>
*
DATA : ld_bin_filesize        TYPE i.
DATA : ld_pdf_spoolid         TYPE rspoid.
DATA : ld_otf_pagecount       TYPE i.
DATA : ld_btc_jobname         TYPE btcjob.
DATA : ld_btc_jobcount        TYPE btcjobcnt.
DATA : ld_bin_file            TYPE xstring.
DATA : it_arch_pdf            TYPE STANDARD TABLE OF tline.
DATA : it_tsp01               TYPE STANDARD TABLE OF tsp01  WITH HEADER LINE.
*
*---------------------------------------------------------------------------------------*
* SELECCION DE DATOS - ULTIMA ORDEN SPOOL DEL USURIO
*---------------------------------------------------------------------------------------*
*
SELECT rqident INTO CORRESPONDING FIELDS OF TABLE it_tsp01
  FROM tsp01
    WHERE rqowner EQ sy-uname.
*
SORT it_tsp01 BY rqident DESCENDING.
*
READ TABLE it_tsp01 INDEX 1.
*
*---------------------------------------------------------------------------------------*
* CONVERTIR SPOOL A PDF
*---------------------------------------------------------------------------------------*
*
CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'
  EXPORTING
    src_spoolid              = it_tsp01-rqident
    no_dialog                = ''
  IMPORTING
    pdf_bytecount            = ld_bin_filesize
    pdf_spoolid              = ld_pdf_spoolid
    btc_jobname              = ld_btc_jobname
    btc_jobcount             = ld_btc_jobcount
  TABLES
    pdf                      = it_arch_pdf
  EXCEPTIONS
    err_no_otf_spooljob      = 1
    err_no_spooljob          = 2
    err_no_permission        = 3
    err_conv_not_possible    = 4
    err_bad_dstdevice        = 5
    user_cancelled           = 6
    err_spoolerror           = 7
    err_temseerror           = 8
    err_btcjob_open_failed   = 9
    err_btcjob_submit_failed = 10
    err_btcjob_close_failed  = 11
    OTHERS                   = 12.
*
*---------------------------------------------------------------------------------------*
* BAJAR EL ARCHIVO PDF AL PC
*---------------------------------------------------------------------------------------*
*
IF ( sy-subrc EQ 0 ).

  CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
      bin_filesize            = ld_bin_filesize
      filename                = ld_archivo
      filetype                = 'BIN'
    TABLES
      data_tab                = it_arch_pdf
    EXCEPTIONS
      file_write_error        = 1
      no_batch                = 2
      gui_refuse_filetransfer = 3
      invalid_type            = 4
      no_authority            = 5
      unknown_error           = 6.

ENDIF.
*
*---------------------------------------------------------------------------------------*
*
Saludos.

Atte.,
Enrique Borroni

maito : enrique.borroni@abap.es

Desconectado zpelos

  • Novato
  • *
  • Mensajes: 7
  • carpe Diem
    • Ver Perfil
Re:Transformar Orden Spool a PDF
« Respuesta #1 en: 15 de Noviembre de 2012, 10:47:01 pm »
Buena Tarde...

Existe tambien el programa Standard RSTXPDFT4 que si lo ejecutan en la se38 y le pasan el número de la orden spool convierte esa orden de impresión en un archivo PDF..

Normalmente se utiliza mucho para la documentación de los programas ABAP.


Saludos
Zpelos

Desconectado Enrique.Borroni

  • Moderador_
  • Usuario Completo
  • *****
  • Mensajes: 86
    • Ver Perfil
Re:Transformar Orden Spool a PDF
« Respuesta #2 en: 16 de Noviembre de 2012, 11:51:18 pm »
Si, tienes razon....pero la finalidad de este pequeño ejemplo es poder agregarle mas funcionalidades, como guardar imagenes de
documentos legales en algun directorio sap via FTP, o atachar el archivo para enviarlo por correo...o lo que se quiera hacer
con este archivo..

Saludos.

Atte.,
Enrique Borroni

maito : enrique.borroni@abap.es