ayuda con Report para pasarlo a PDF

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • vamp_01
    Senior Member
    • jun
    • 109

    #1

    ayuda con Report para pasarlo a PDF

    Hola amigos foreros.....como estas?
    tengo un problema, tengo un reporte que se muestra por pantalla y esta hecho con write para mostrar la data al usuario.
    Bueno la exquisites que quiere el usuario es que quiere bajar ese mismo write que muestra por pantalla, llevarlo a PDF, me pueden ayudar.

    De ante mano GRacias
  • gazparluna
    Junior Member
    • feb
    • 5

    #2
    bueno encontre esto en una web pero nose si pueda poner links mejor te pongo el código:

    ************************************************** ********************
    * Definición de variables *
    ************************************************** ********************
    DATA: filesize TYPE i,
    header LIKE thead,
    options LIKE itcpo,
    result LIKE itcpp,
    otf LIKE itcoo OCCURS 0 WITH HEADER LINE,
    lines LIKE tline OCCURS 0 WITH HEADER LINE,
    lv_file TYPE string.

    ************************************************** ********************
    * Definición de la pantalla de selección *
    ************************************************** ********************
    SELECTION-SCREEN BEGIN OF BLOCK blq1 WITH FRAME TITLE text-t01.
    PARAMETERS:
    p_impre TYPE pri_params-pdest OBLIGATORY,
    p_file TYPE rlgrap-filename OBLIGATORY DEFAULT ‘C:\PRUEBA.PDF’.
    SELECTION-SCREEN END OF BLOCK blq1.



    ************************************************** ********************
    * Proceso principal *
    ************************************************** ********************

    *Se completa tabla lines con el contenido que queramos que tenga el archivo PDF
    lines-tdline = ‘Este es el texto que aparecerá en el archivo PDF’.
    lines-tdformat = ‘K’.
    APPEND lines.

    *Se obtienen y definen las opciones de formato del archivo
    options-tddest = p_impre. "Nombre de impresora local
    options-tdnewid = ‘X’.
    options-tdgetotf = ‘X’.

    CALL FUNCTION ‘PRINT_TEXT’
    EXPORTING
    device = ‘PRINTER’
    dialog = ‘ ‘
    application = ‘TX’
    header = header
    options = options
    IMPORTING
    result = result
    TABLES
    lines = lines
    otfdata = otf
    EXCEPTIONS
    canceled = 01
    device = 02
    form = 03
    options = 04
    unclosed = 05
    unknown = 06
    format = 07
    textformat = 08
    communication = 09.

    * Se convierte a PDF
    CALL FUNCTION ‘CONVERT_OTF’
    EXPORTING
    format = ‘PDF’
    max_linewidth = 132
    IMPORTING
    bin_filesize = filesize
    TABLES
    otf = otf
    lines = lines
    EXCEPTIONS
    err_conv_not_possible = 1.

    * Bajamos el archivo
    lv_file = p_file.

    CALL FUNCTION ‘GUI_DOWNLOAD’
    EXPORTING
    bin_filesize = filesize
    filename = lv_file
    filetype = ‘BIN’
    * APPEND = ‘ ‘
    * CODEPAGE = ‘ ‘
    * NO_BYTEORDER_MARK = ‘ ‘
    * IMPORTING
    * FILELENGTH = c
    TABLES
    data_tab = lines
    * FORMAT_TAB =
    EXCEPTIONS
    file_write_error = 1
    no_batch = 2
    gui_refuse_filetransfer = 3
    invalid_type = 4
    no_authority = 5
    unknown_error = 6.


    espero que te sirva.

    Por cierto soy nuevo en este foro, tengo casi un año en abap, espero y pueda serles de ayuda.


    saludos a todos

    Comentario

    • oarranzli
      Senior Member
      • jun
      • 373

      #3
      Hola vamp01,

      SAP provee del report estándar RSTXPDFT4 que permite descargar en PDF las órdenes de spool generadas.

      Espero te sirva de ayuda.

      Saludos.
      Óscar
      http://www.blogdesap.com

      Comentario

      • sconoredhot
        Senior Member
        • feb
        • 341

        #4
        Hola,
        También puedes probar llamando a la función
        CONVERT_ABAPSPOOLJOB_2_PDF
        que convierte el spool a PDF

        CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
        EXPORTING
        src_spoolid = spoolno
        no_dialog = no
        dst_device = 'locl'
        pdf_destination = 'T'
        IMPORTING
        pdf_bytecount = numbytes
        pdf_spoolid = pdfspoolid
        list_pagecount = list_count
        btc_jobname = jobname
        btc_jobcount = jobcount
        TABLES
        pdf = pdf
        EXCEPTIONS
        err_no_abap_spooljob = 1
        err_no_spooljob = 2
        err_no_permission = 3
        err_conv_not_possible = 4
        err_bad_destdevice = 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.

        Saludos
        Sebas

        Desarrollador ABAP.

        Comentario

        • vamp_01
          Senior Member
          • jun
          • 109

          #5
          amigos mios, primero que nada muchas gracias por responder....
          he probado todo lo que me han dicho....
          pero aun sigue el problema ya sea por la funcion o por el programa...
          nada de nada....
          imprimo el spool que esta con la impresion horizontal y nada, pero genero un archivo en la spool que tiene la impresion vertical y lo hace sin problemas...
          me pueden ayudar con estde nuevo problema, es decir, el pdf no se crea con la funcion pq el archivo en la spool esta horizonta....
          ese es el tema...
          atento a lo que me digan.....

          Gracias

          Comentario

          • Chemo_666
            Member
            • oct
            • 74

            #6
            Tal vez suene muy simplista la respuesta, pero no te saldrá "mas barato" instalar un software que imprima a PDF? por decir el CutePDF Writer que es un freeware que bajas de la red. Cuando mandes imprimir seleccionas esa impresorá y voilá

            Slds
            Exígete mucho a ti mismo y espera poco de los demás. Así te ahorrarás disgustos - Confusio -

            Comentario

            • vamp_01
              Senior Member
              • jun
              • 109

              #7
              Gracias a todos....ya esta solucionado.....muchas gracias y me quedo con un respaldo del codigo...para futuras implementaciones...
              gracias

              Comentario

              • vamp_01
                Senior Member
                • jun
                • 109

                #8
                Amigos......ayuda tengo otro problema...
                estoy ocupando la funcion 'CONVERT_ABAPSPOOLJOB_2_PDF' en un programa Z, pero cuando el reporte trae mas de 99 paginas, me pregunta si lo genero de fondo, le doy al boton si...y no me genera nada, es como que pierde los valores que les pase antes, y si le digo que no...se demora demasiado....
                como puedo solucionar este problema?
                Gracias

                Comentario

                Trabajando...