gui_download

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Ruben_cs
    Junior Member
    • mar
    • 24

    #1

    gui_download

    Tengo un problema con la función GUI_DOWNLOAD y es que cuando lo ejecuto mediante job no me descarga nada, si no lo hago mediante un job el funcionamiento es el correcto. Alguien sabe porque pasa esto.

    Gracias
  • nenuke
    Member
    • sep
    • 87

    #2
    Hola Ruben,

    el problema es que las funciones WS_DOWNLOAD o GUI_DOWNLOAD no se pueden ejecutar en fondo. Deberías bajarte el fichero al servidor de aplicaciones con las sentencias OPEN DATASET, TRANSFER DATASET y CLOSE DATASET y luego bajarlo del servidor de aplicaciones a local haciendo un CALL TRANSACTION a la CG3Y.

    Espero te sirva de ayuda.

    Un saludo.

    Comentario

    • Ruben_cs
      Junior Member
      • mar
      • 24

      #3
      Hay alguna forma de saber la ruta del servidor de aplicaciones para luego poder ejecutar la transacción CG3Y.

      Gracias

      Comentario

      • nenuke
        Member
        • sep
        • 87

        #4
        Pregunta a tu responsable si hay alguna carpeta en el arbol donde puedas almacenar ese fichero temporalmente.
        La ruta sera algo parecido a esto.../usr/sap/trans/tmp/ depende de como este organizado tu servidor de aplicación.

        Tal y como t comenté en el post anterior puedes usar la transacción CG3Y o creo que te puede ser mas cómodo usar una función que hace lo mismo, te dejo el código de ejemplo.

        Un saludo.

        *&---------------------------------------------------------------------*
        *& Report ZPMSFR_BAJFICHSER
        *&
        *&---------------------------------------------------------------------*
        *&
        *&
        *&---------------------------------------------------------------------*
        REPORT ZPMSFR_BAJFICHSER no standard page heading LINE-COUNT 65 LINE-SIZE 132.

        tables: SAPB.

        * Selection screen
        SELECTION-SCREEN BEGIN OF BLOCK b_first WITH FRAME title text-001.
        SELECTION-SCREEN SKIP 1.
        parameters: Unidad like SAPB-SAPPFAD default '/usr/sap/trans/tmp/',
        destino like SAPB-SAPPFAD default 'C:/'.
        SELECTION-SCREEN SKIP 1.
        SELECTION-SCREEN END OF BLOCK b_first.


        start-of-selection.

        CALL FUNCTION 'ARCHIVFILE_SERVER_TO_CLIENT'
        EXPORTING
        PATH = unidad
        TARGETPATH = destino
        EXCEPTIONS
        ERROR_FILE = 1
        OTHERS = 2
        .
        IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        else.

        write:/ destino, text-002.

        ENDIF.

        Comentario

        • Ruben_cs
          Junior Member
          • mar
          • 24

          #5
          Muchas gracias ya he dado con ello, me ha servido de muxa ayuda.

          Comentario

          • Ruben_cs
            Junior Member
            • mar
            • 24

            #6
            Me ha surgido otro problema, utilizando la transacción 3CGY on-line funciona bien pero en batch no pasa ningún archivo.
            Si utilizo la función el resultado es el mismo en on-line si funciona y en batch no pasa ningún archivo.
            Sabes xq puede ser???

            Comentario

            • JAC
              Junior Member
              • oct
              • 27

              #7
              Porque esta transacción utilizará el gui_download, para pasar del servidor a tu pc.
              Una solución para este problema sería hacer un ftp mediante comando. Y llamarlo desde tú programa de esta forma.


              http://sap4.com/contentid-121.html

              Comentario

              • nenuke
                Member
                • sep
                • 87

                #8
                Probaste a llamar a la función 'ARCHIVFILE_SERVER_TO_CLIENT' en lugar de hacer el call transaction a la CG3Y. Eso debería funcionar en fondo.

                Saludos

                Comentario

                • Ruben_cs
                  Junior Member
                  • mar
                  • 24

                  #9
                  Si lo probé pero tampoco me funcionó en batch, en on-line si. Sabes xq??

                  Comentario

                  • nenuke
                    Member
                    • sep
                    • 87

                    #10
                    Hola Rubén,

                    he probado lo que te dije y vas a tener razón, es imposible hacerlo funcionar en background. Además he leido en otros foros y por lo que parece no eres al primero que le surge ese problema y nadie tiene una solución factible. La única solución posible parece la que ha dado JAC.
                    Si no quieres complicarte y no necesitas tener los ficheros automaticamente en local, te queda bajarlos manualmente tu mismo a local una vez que los tienes en el servidor de aplicaciones.

                    Saludos.

                    Comentario

                    • Ruben_cs
                      Junior Member
                      • mar
                      • 24

                      #11
                      Gracias por preocuparte

                      Comentario

                      • Ruben_cs
                        Junior Member
                        • mar
                        • 24

                        #12
                        Sabe alguno de cuanto puede ser el máximo de cada registros q se puede mandar, mis registros son de 500 caracteres cada uno.

                        Comentario

                        • Ruben_cs
                          Junior Member
                          • mar
                          • 24

                          #13
                          Ya lo he comprobado son 254 carácteres como máximo

                          Comentario

                          Trabajando...