Descargar write en pdf

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • manu_lolo27
    Member
    • mar
    • 90

    #1

    Descargar write en pdf

    Hola a todos... me da errores un programa (listado) que lo quiero descargar a PDF

    El report lo pinto con la sentencia write

    WRITE:/3 'MANTENIMIENTO' INVERSE OFF.
    WRITE:/8(12) 'PROGRAMADO', 30(20) 'REALIZADO EN FECHA', 60(20) 'PORCENTAJE'.
    ULINE /7(12). "SUBRAYADO DE PROGRAMADO
    WRITE:/3(11) 'NºTRABAJOS',
    15(2) 'HH',
    23(11) 'NºTRABAJOS',
    34(2) 'HH',
    55(11) 'NºTRABAJOS',
    66(2) 'HH'.
    WRITE:/3(11) GV_TR_PROGRAMADO,
    14(7) GV_H_N_TR_PROGRAMADO,
    23(11) GV_TR_REALIZADO,
    34(7) GV_H_TR_REALIZADO,
    55(11) GV_PORCENTAJE,
    66(7) GV_H_PORCENTAJE.
    WRITE:/3(26) 'REALIZADOS NO PROGRAMADOS'.
    ULINE /3(26). "-------------------------
    WRITE:/23(11) GV_NO_PROGRAMADOS,
    34(7) GV_H_NO_PROGRAMADOS.


    WRITE:/ 'TRABAJOS SIN REALIZAR O CON FECHA DE FTRA FUERA DE RANGO', P_LS_VIAUFKS_INGPR INTENSIFIED OFF.
    lv_primera_vez = 'N'.
    ENDIF.
    FORMAT COLOR COL_KEY. "LISTA LAS ORDENES SIN REALIZAR
    WRITE:/2(3) LS_SIN_REALIZAR-ILART,
    6(12) LS_SIN_REALIZAR-AUFNR,
    19(30) LS_SIN_REALIZAR-TPLNR, "30 UT
    50(8) LS_SIN_REALIZAR-ARBPL, "8
    69(10) LS_SIN_REALIZAR-GSTRP. "10


    Lo que sale en la pantalla quiero, pulsando un boton "PDF" descargarlo en pdf,


    * esta funcion, para recuperar los parametros (esta NO quiero que salga)
    CALL FUNCTION 'GET_PRINT_PARAMETERS'
    EXPORTING
    * report = 'ZIAOR091'
    ARCHIVE_MODE = '3'
    * destination = 'LOCL'
    * copies = 1
    * immediately = ' ' "jlc
    * release = 'X'
    * new_list_id = 'X'
    * expiration = 3
    * line_size = 164
    * line_count = 58
    * sap_cover_page = ' '
    * cover_page = ' '
    no_dialog = 'X'
    IMPORTING
    out_parameters = params
    out_archive_parameters = archi_parameters
    valid = valid
    EXCEPTIONS
    ARCHIVE_INFO_NOT_FOUND = 1
    INVALID_PRINT_PARAMS = 2
    INVALID_ARCHIVE_PARAMS = 3
    OTHERS = 4.

    IF valid = 'X' and sy-subrc = 0.


    data: w_spool_nr like TSP01_SP0R-RQID_CHAR.

    SUBMIT submitable TO SAP-SPOOL
    SPOOL PARAMETERS params
    ARCHIVE PARAMETERS archi_parameters
    WITHOUT SPOOL DYNPRO.
    * IMPORT w_spool_nr FROM MEMORY ID 'SPOOLTOPDF'.
    ENDIF.

    * Esta funcion la utilizo para el explorador d windows, esto lo hace bien
    CALL FUNCTION 'F4_FILENAME'
    EXPORTING
    PROGRAM_NAME = SY-REPID
    DYNPRO_NUMBER = SY-DYNNR
    FIELD_NAME = 'PATH'
    IMPORTING
    FILE_NAME = P_FILE.

    * Esta funcion para convertirlo en otf
    options-tddest = 'LOCL'. "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."'C:\A\PRUEBA.PDF'.

    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.
    ELSEIF NOT P_FILE IS INITIAL.
    MESSAGE I041(ZPM).
    ENDIF.


    Pero no me va.... NO SE COMO CREAR LA ORDEN SPOOL PARA DESCARGARLA EN PDF, ALGUNA AYUDA POR FAVOR.....

    MUCHAS GRACIAS
  • sconoredhot
    Senior Member
    • feb
    • 341

    #2
    hola

    Es que aca estás creando el spool

    SUBMIT submitable TO SAP-SPOOL
    SPOOL PARAMETERS params
    ARCHIVE PARAMETERS archi_parameters
    WITHOUT SPOOL DYNPRO.
    * IMPORT w_spool_nr FROM MEMORY ID 'SPOOLTOPDF'.
    ENDIF.

    lo que necesitas es leerlo despues de esto (tabla tsp01)

    Saludos
    Sebas

    Desarrollador ABAP.

    Comentario

    • manu_lolo27
      Member
      • mar
      • 90

      #3
      Ese era el problema, que no tenia la orden spool (NO LA CREABA)

      Opte, por esta opcion

      * se recupera la pantalla de seleccion
      CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS'
      EXPORTING
      CURR_REPORT = sy-cprog
      TABLES
      SELECTION_TABLE = lt_seltab.

      SUBMIT (sy-repid) TO SAP-SPOOL
      SPOOL PARAMETERS gv_params
      ARCHIVE PARAMETERS gv_archi_parameters
      WITHOUT SPOOL DYNPRO
      WITH SELECTION-TABLE lt_seltab
      AND RETURN.

      GET PARAMETER ID 'SPI' FIELD gv_l_spool_c.

      Comentario

      Trabajando...