Consulta muy basica...

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • RAMONES
    Member
    • mar
    • 69

    #1

    Consulta muy basica...

    Buenos dias ante todo, estoy haciendo un select y lo que preciso es volcarlo a un archivo TXT, uso esta funcion tanto como la WS_DOWNLOAD, pero en ambas no me crea el archivo, la verdad no se porque, es la primera vez que me pasa que no me funcione, alguien sabria porque? El reporte se ejecuta normalmente pero el subrc de la funcion es distinto a cero...

    CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
    filename = 'C:\prueba.txt'
    filetype = 'ASC'
    TABLES
    data_tab = IT_CDHDR
    EXCEPTIONS
    file_write_error = 1
    no_batch = 2
    gui_refuse_filetransfer = 3
    invalid_type = 4
    OTHERS = 5.


    Muchas gracias!!!
    El mundo es Redondo y de Ricota......
  • luis999
    Member
    • jun
    • 82

    #2
    Hola, el codigo que pones me parece correcto, podrías poner todo el código para ver en que parte esta el error

    Originalmente publicado por RAMONES
    Buenos dias ante todo, estoy haciendo un select y lo que preciso es volcarlo a un archivo TXT, uso esta funcion tanto como la WS_DOWNLOAD, pero en ambas no me crea el archivo, la verdad no se porque, es la primera vez que me pasa que no me funcione, alguien sabria porque? El reporte se ejecuta normalmente pero el subrc de la funcion es distinto a cero...

    CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
    filename = 'C:\prueba.txt'
    filetype = 'ASC'
    TABLES
    data_tab = IT_CDHDR
    EXCEPTIONS
    file_write_error = 1
    no_batch = 2
    gui_refuse_filetransfer = 3
    invalid_type = 4
    OTHERS = 5.


    Muchas gracias!!!

    Comentario

    • RAMONES
      Member
      • mar
      • 69

      #3
      Originalmente publicado por luis999
      Hola, el codigo que pones me parece correcto, podrías poner todo el código para ver en que parte esta el error

      REPORT z_prueba .

      types: BEGIN OF t_cdhdr,
      changenr TYPE cdhdr-changenr,
      username TYPE cdhdr-username,
      udate TYPE cdhdr-udate,
      END OF t_cdhdr.

      types: BEGIN OF t_cdpos,
      objectid TYPE cdpos-objectid,
      changenr TYPE cdpos-changenr,
      value_new TYPE cdpos-value_new,
      value_old TYPE cdpos-value_old,
      END OF t_cdpos.

      data: it_cdhdr type table of t_cdhdr with header line,
      it_cdpos type table of t_cdpos with header line.

      SELECT-OPTIONS: s_udate FOR sy-datum.

      SELECT changenr username udate
      FROM cdhdr
      INTO TABLE it_cdhdr
      WHERE udate IN s_udate.

      PERFORM bajar_a_txt.


      *&---------------------------------------------------------------------*
      *& Form BAJAR_A_TXT
      *&---------------------------------------------------------------------*
      * text
      *----------------------------------------------------------------------*
      * --> p1 text
      * <-- p2 text
      *----------------------------------------------------------------------*
      FORM bajar_a_txt.

      CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
      filename = 'C:\prueba.txt'
      filetype = 'ASC'
      TABLES
      data_tab = IT_CDHDR
      EXCEPTIONS
      file_write_error = 1
      no_batch = 2
      gui_refuse_filetransfer = 3
      invalid_type = 4
      OTHERS = 5.

      IF sy-subrc = 0.

      WRITE: 'archivo bajado exitosamente'.

      ELSE.

      WRITE: 'ARCHIVO NO BAJADO'.

      ENDIF.



      ENDFORM. " BAJAR_A_TXT





      PD: Una aclaracion, el subrc es 3 (gui_refuse_filetransfer), pero no se que pasa, muchas gracias!!
      El mundo es Redondo y de Ricota......

      Comentario

      • luis999
        Member
        • jun
        • 82

        #4
        Pues que raro, probe tu codigo y si realiza la descarga

        Originalmente publicado por RAMONES
        REPORT z_prueba .

        types: BEGIN OF t_cdhdr,
        changenr TYPE cdhdr-changenr,
        username TYPE cdhdr-username,
        udate TYPE cdhdr-udate,
        END OF t_cdhdr.

        types: BEGIN OF t_cdpos,
        objectid TYPE cdpos-objectid,
        changenr TYPE cdpos-changenr,
        value_new TYPE cdpos-value_new,
        value_old TYPE cdpos-value_old,
        END OF t_cdpos.

        data: it_cdhdr type table of t_cdhdr with header line,
        it_cdpos type table of t_cdpos with header line.

        SELECT-OPTIONS: s_udate FOR sy-datum.

        SELECT changenr username udate
        FROM cdhdr
        INTO TABLE it_cdhdr
        WHERE udate IN s_udate.

        PERFORM bajar_a_txt.


        *&---------------------------------------------------------------------*
        *& Form BAJAR_A_TXT
        *&---------------------------------------------------------------------*
        * text
        *----------------------------------------------------------------------*
        * --> p1 text
        * <-- p2 text
        *----------------------------------------------------------------------*
        FORM bajar_a_txt.

        CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
        filename = 'C:\prueba.txt'
        filetype = 'ASC'
        TABLES
        data_tab = IT_CDHDR
        EXCEPTIONS
        file_write_error = 1
        no_batch = 2
        gui_refuse_filetransfer = 3
        invalid_type = 4
        OTHERS = 5.

        IF sy-subrc = 0.

        WRITE: 'archivo bajado exitosamente'.

        ELSE.

        WRITE: 'ARCHIVO NO BAJADO'.

        ENDIF.



        ENDFORM. " BAJAR_A_TXT





        PD: Una aclaracion, el subrc es 3 (gui_refuse_filetransfer), pero no se que pasa, muchas gracias!!

        Comentario

        • RAMONES
          Member
          • mar
          • 69

          #5
          que sera entonces?? la verdad que no tengo idea...sera que tengo bloqueado el disco C?? ....no se me ocurre que puede ser....
          El mundo es Redondo y de Ricota......

          Comentario

          • ic_man_777
            Member
            • oct
            • 97

            #6
            sy-subrc

            Chequea que valor tiene sy-subrc después de mandar llamar la función GUI_DOWNLOAD, actualmente estás cachando todas las excepciones, seguro está ocurriendo una de ellas.
            Editado por última vez por ic_man_777; 06/07/2009, 17:32:35.

            Comentario

            • RAMONES
              Member
              • mar
              • 69

              #7
              Originalmente publicado por ic_man_777
              Chequea que valor tiene sy-subrc después de mandar llamar la función GUI_DOWNLOAD, actualmente estás cachando todas las excepciones, seguro está ocurriendo una de ellas.

              el sy-subrc es 3, si tildo las excepciones, directamente me da un dump, si la coloco, el programa se ejucuta y el subrc me da 3, pero el archivo no se genera...
              El mundo es Redondo y de Ricota......

              Comentario

              • Abaunus
                Senior Member
                • nov
                • 119

                #8
                Originalmente publicado por RAMONES
                el sy-subrc es 3, si tildo las excepciones, directamente me da un dump, si la coloco, el programa se ejucuta y el subrc me da 3, pero el archivo no se genera...
                Por qué no probás ejecutar la función por la SE37, así vas viendo dentro de ella qué es lo que falla...

                Comentario

                • ic_man_777
                  Member
                  • oct
                  • 97

                  #9
                  alternativa

                  Se dice que esas funciones van quedando obsoletas, para mi funcionan muy bien, pero al parecer a ti no, si es así entonces podrías usar el método estático de la clase CL_GUI_FRONTEND_SERVICES.


                  CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
                  EXPORTING
                  * BIN_FILESIZE =
                  FILENAME = 'C:\Archivo.txt'
                  * FILETYPE = ’ASC’
                  * APPEND = SPACE
                  * WRITE_FIELD_SEPARATOR = SPACE
                  * HEADER = ’00′
                  * TRUNC_TRAILING_BLANKS = SPACE
                  * WRITE_LF = ’X’
                  * COL_SELECT = SPACE
                  * COL_SELECT_MASK = SPACE
                  * DAT_MODE = SPACE
                  * CONFIRM_OVERWRITE = SPACE
                  * NO_AUTH_CHECK = SPACE
                  * CODEPAGE = SPACE
                  * IGNORE_CERR = ABAP_TRUE
                  * REPLACEMENT = ’#’
                  * WRITE_BOM = SPACE
                  * TRUNC_TRAILING_BLANKS_EOL = ’X’
                  * WK1_N_FORMAT = SPACE
                  * WK1_N_SIZE = SPACE
                  * WK1_T_FORMAT = SPACE
                  * WK1_T_SIZE = SPACE
                  * IMPORTING
                  * FILELENGTH =
                  CHANGING
                  DATA_TAB = it_tabla
                  * EXCEPTIONS
                  * FILE_WRITE_ERROR = 1
                  * NO_BATCH = 2
                  * GUI_REFUSE_FILETRANSFER = 3
                  * INVALID_TYPE = 4
                  * NO_AUTHORITY = 5
                  * UNKNOWN_ERROR = 6
                  * HEADER_NOT_ALLOWED = 7
                  * SEPARATOR_NOT_ALLOWED = 8
                  * FILESIZE_NOT_ALLOWED = 9
                  * HEADER_TOO_LONG = 10
                  * DP_ERROR_CREATE = 11
                  * DP_ERROR_SEND = 12
                  * DP_ERROR_WRITE = 13
                  * UNKNOWN_DP_ERROR = 14
                  * ACCESS_DENIED = 15
                  * DP_OUT_OF_MEMORY = 16
                  * DISK_FULL = 17
                  * DP_TIMEOUT = 18
                  * FILE_NOT_FOUND = 19
                  * DATAPROVIDER_EXCEPTION = 20
                  * CONTROL_FLUSH_ERROR = 21
                  * NOT_SUPPORTED_BY_GUI = 22
                  * ERROR_NO_GUI = 23
                  * others = 24
                  Yo no sé que es lo que ocaciona esa excepción: GUI_REFUSE_FILETRANSFER
                  Editado por última vez por ic_man_777; 06/07/2009, 19:24:44.

                  Comentario

                  • RAMONES
                    Member
                    • mar
                    • 69

                    #10
                    Muchas gracias a todos por molestarse, voy a usar ese metodo estatico a ver como me va, gracias nuevamente,

                    Saludos a todos!
                    El mundo es Redondo y de Ricota......

                    Comentario

                    • RAMONES
                      Member
                      • mar
                      • 69

                      #11
                      Resuelto...

                      Para que sepan, si por alguna de esas les pasa, usando la funcion GUI_DOWNLOAD si el subrc es 3, por lo menos en mi caso es que tenia el disco C bloqueado y por eso daba la excepcion, me lo desbloquearon, y puedo bajar los archivos y funciona perfectamente....

                      Muchas gracias!!
                      El mundo es Redondo y de Ricota......

                      Comentario

                      • omegaotaku
                        Member
                        • nov
                        • 43

                        #12
                        Solucion

                        Originalmente publicado por RAMONES
                        Buenos dias ante todo, estoy haciendo un select y lo que preciso es volcarlo a un archivo TXT, uso esta funcion tanto como la WS_DOWNLOAD, pero en ambas no me crea el archivo, la verdad no se porque, es la primera vez que me pasa que no me funcione, alguien sabria porque? El reporte se ejecuta normalmente pero el subrc de la funcion es distinto a cero...

                        CALL FUNCTION 'GUI_DOWNLOAD'
                        EXPORTING
                        filename = 'C:\prueba.txt'
                        filetype = 'ASC'
                        TABLES
                        data_tab = IT_CDHDR
                        EXCEPTIONS
                        file_write_error = 1
                        no_batch = 2
                        gui_refuse_filetransfer = 3
                        invalid_type = 4
                        OTHERS = 5.


                        Muchas gracias!!!
                        REPORT ztempos.

                        TYPE-POOLS: truxs.

                        TYPES: BEGIN OF t_cdhdr,
                        changenr TYPE cdhdr-changenr,
                        username TYPE cdhdr-username,
                        udate TYPE cdhdr-udate,
                        END OF t_cdhdr.

                        DATA: gt_salida2 TYPE truxs_t_text_data,
                        it_cdhdr TYPE STANDARD TABLE OF t_cdhdr.


                        SELECT-OPTIONS: s_udate FOR sy-datum.

                        SELECT changenr username udate
                        FROM cdhdr
                        INTO CORRESPONDING FIELDS OF TABLE it_cdhdr
                        WHERE udate IN s_udate.

                        PERFORM bajar_a_txt.


                        *&---------------------------------------------------------------------*
                        *& Form BAJAR_A_TXT
                        *&---------------------------------------------------------------------*
                        * text
                        *----------------------------------------------------------------------*
                        * --> p1 text
                        * <-- p2 text
                        *----------------------------------------------------------------------*
                        FORM bajar_a_txt.

                        CALL FUNCTION 'SAP_CONVERT_TO_TEX_FORMAT'
                        EXPORTING
                        i_field_seperator = '|'
                        * I_LINE_HEADER =
                        * I_FILENAME =
                        * I_APPL_KEEP = ' '
                        TABLES
                        i_tab_sap_data = it_cdhdr
                        CHANGING
                        i_tab_converted_data = gt_salida2
                        EXCEPTIONS
                        conversion_failed = 1
                        OTHERS = 2.

                        CALL FUNCTION 'GUI_DOWNLOAD'
                        EXPORTING
                        filename = 'C:\tempo.txt'
                        filetype = 'ASC'
                        TABLES
                        data_tab = gt_salida2
                        EXCEPTIONS
                        file_write_error = 1
                        no_batch = 2
                        gui_refuse_filetransfer = 3
                        invalid_type = 4
                        no_authority = 5
                        unknown_error = 6.

                        IF sy-subrc EQ 0.

                        WRITE: 'archivo bajado exitosamente'.

                        ELSE.

                        WRITE: 'ARCHIVO NO BAJADO'.

                        ENDIF.


                        ENDFORM. " BAJAR_A_TXT

                        Comentario

                        • esterg
                          Junior Member
                          • sep
                          • 20

                          #13
                          Ejecutar de Fondo GUI_DOWNLOAD no se puede.

                          Hola,
                          Disculpa si me meto y nada que ver.
                          Te paso este vinculo si te sirve.

                          Suerte
                          Ester

                          Comentario

                          • K-MUS
                            Member
                            • feb
                            • 87

                            #14
                            Originalmente publicado por ic_man_777
                            Se dice que esas funciones van quedando obsoletas, para mi funcionan muy bien, pero al parecer a ti no, si es así entonces podrías usar el método estático de la clase CL_GUI_FRONTEND_SERVICES.




                            Yo no sé que es lo que ocaciona esa excepción: GUI_REFUSE_FILETRANSFER
                            Obsoletas ??? la única obsoleta es la WS_DOWNLOAD.

                            Hace algo entra a la clase entra al método y sorprendete, ya que adentro usa la GUI_DOWNLOAD. :P

                            La clase simplemente encapsula y utiliza dicha función.

                            Comentario

                            Trabajando...