Cómo uso el FTP_CONNECT????????????

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • TBARILLAS
    Junior Member
    • jun
    • 19

    #1

    Cómo uso el FTP_CONNECT????????????

    Ejecuto la función FTP_CONNECT de la siguiente manera y no me puedo conectar:

    CALL FUNCTION 'FTP_CONNECT'
    EXPORTING
    USER = 'userftp'
    PASSWORD = '123456'
    HOST = 'orinoco5'
    RFC_DESTINATION = 'SAPFTP'
    IMPORTING
    HANDLE = MI_HANDLE
    EXCEPTIONS
    NOT_CONNECTED = 1
    OTHERS = 2.
  • stormshadow
    Senior Member
    • jun
    • 117

    #2
    Pero pq no puedes conectarte, te tira un error o que es lo que te marca? asegurate de poner este pedazo de código antes de llamar la función de ftp_conect

    Código:
    CALL 'AB_RFC_X_SCRAMBLE_STRING'
         ID 'SOURCE' FIELD MC_PASSWORD ID 'KEY' FIELD MI_KEY
         ID 'SCR' FIELD 'X' ID 'DESTINATION' FIELD MC_PASSWORD
         ID 'DSTLEN' FIELD MI_PWD_LEN.
    Y las variables van declaradas así
    Código:
    DATA: MC_PASSWORD(20) TYPE C,
    MI_KEY TYPE I VALUE 26101957,
    MI_PWD_LEN TYPE I,
    MI_HANDLE TYPE I.
    
    MC_PASSWORD = 'password'.
    Puede ser parte del problema
    "Si quieres resultados distintos, no hagas siempre lo mismo" .... Einstein

    Comentario

    • TBARILLAS
      Junior Member
      • jun
      • 19

      #3
      Originalmente publicado por stormshadow
      Pero pq no puedes conectarte, te tira un error o que es lo que te marca? asegurate de poner este pedazo de código antes de llamar la función de ftp_conect

      Código:
      CALL 'AB_RFC_X_SCRAMBLE_STRING'
           ID 'SOURCE' FIELD MC_PASSWORD ID 'KEY' FIELD MI_KEY
           ID 'SCR' FIELD 'X' ID 'DESTINATION' FIELD MC_PASSWORD
           ID 'DSTLEN' FIELD MI_PWD_LEN.
      Y las variables van declaradas así
      Código:
      DATA: MC_PASSWORD(20) TYPE C,
      MI_KEY TYPE I VALUE 26101957,
      MI_PWD_LEN TYPE I,
      MI_HANDLE TYPE I.
      
      MC_PASSWORD = 'password'.
      Puede ser parte del problema
      Cuando depuro el programa al pasar por CALL 'AB_RFC_X_SCRAMBLE_STRING', el SY-SUBRC toma el valor de 6, no se si eso esta bien.

      Posteriormente al pasar la función FTP_CONNECT, el SY-SUBRC toma el valor de 1, que significa que no está conectado.

      Y el código es tal cual al que tu colocas en este mensaje.

      Comentario

      • stormshadow
        Senior Member
        • jun
        • 117

        #4
        Esa función es para encriptar el password, pero se m hace raro que no se conecte, sinceramente yo no he utilizado esa función pero he estado haciendo pruebas y las hago satisfactorias no será algún dato que le estes pasando mal?
        "Si quieres resultados distintos, no hagas siempre lo mismo" .... Einstein

        Comentario

        • TBARILLAS
          Junior Member
          • jun
          • 19

          #5
          Originalmente publicado por stormshadow
          Esa función es para encriptar el password, pero se m hace raro que no se conecte, sinceramente yo no he utilizado esa función pero he estado haciendo pruebas y las hago satisfactorias no será algún dato que le estes pasando mal?
          Voy a revisar con los basis los datos del servidor.

          Esta conexión se puede hacer con cualquier servidor que este en la red corporativa?

          Comentario

          • TBARILLAS
            Junior Member
            • jun
            • 19

            #6
            Originalmente publicado por TBARILLAS
            Voy a revisar con los basis los datos del servidor.

            Esta conexión se puede hacer con cualquier servidor que este en la red corporativa?
            Estoy revisando en la transacción SM59, las características de la conexión del servidor al cual quiero acceder.

            DESTINO RFC: Z_SERV
            Tipo de Conexión: CONEXION TCP/IP

            Ese tipo de conexión está bien?, o cual debería ser?

            Comentario

            • stormshadow
              Senior Member
              • jun
              • 117

              #7
              Pues mira, yo en el destino RFC pongo este: SAPFTP pero yo m conecto a un host ajeno a SAP, y por medio de comandos DOS puedo crear carpetas en ese host que tengo en internet, así que no sé en que difiera eso del destino RFC y el tipo de conexión supongo que si es ese
              "Si quieres resultados distintos, no hagas siempre lo mismo" .... Einstein

              Comentario

              • Rodolfo SAP
                Member
                • jun
                • 89

                #8
                Saludos.

                Mira acabo de salir del mismo problema que tu y pues te cuento la historia.

                El servidor al que intentaba conectarme era un Unix y el usuario que me dieron era nuevo, cuando tienes un usuario nuevo de acceso la primera vez debes de ingresar al FTP debe ser por una conexion segura SSH y despues de tenerla ya por consola de comandos MS-DOS o usar este programa putty que ya tiene configurada la seguridad SSH y despues entrar cambiar la contraseña (te aclaro es la primera vez que ingresas y bajo una conexion segura SSL).

                A modo consola pones

                ftp
                open 10.65.45.76 <- ejemplo
                login: userprueba
                ***************************************
                Usted esta accesando a un servidor seguro etc etc <- Esto es como un avis que muestra
                ***************************************
                password: <- aqui aunque veas que no se mueve el _ puntero realmente si estas escribiendo.

                o usar el programa





                Eso es como que el preambulo de usar FTP despues de eso aqui en mundosap existen muchos post relacionados.





                Y usar algunos programas de TEST en SAP para que veas como funciona revisa este programa

                RSFTP003

                y pues en teoria haces esto

                * La contraseña la codificas para que pueda ser utilizada bajo un estandar de
                * encriptacion.
                call function 'HTTP_SCRAMBLE'
                exporting
                source = pwd
                sourcelen = slen
                key = key
                importing
                destination = pwd.


                *Abres a conexion
                call function 'FTP_CONNECT'
                exporting
                user = user
                password = pwd
                host = host
                rfc_destination = dest
                importing
                handle = hdl.

                *Envias los comandos que quieres sean ejecutados en el servidor de Unic
                *ejemplo si tu deseas ver un directorio usualmente teclearias dir en MS2
                *entonces en esta funcion mandarias el comando DIR como parametro

                *Aqui quiero hacer enfasis es que tantos comandos desees ejecutar en el *servidor deberas enviar un FTP_COMMAND indicando el comando a ejecutarse *ok.

                call function 'FTP_COMMAND'
                exporting
                handle = hdl
                command = 'dir'
                tables
                data = result
                exceptions
                tcpip_error = 1
                command_error = 2
                data_error = 3.

                call function 'FTP_COMMAND'
                exporting
                handle = hdl
                command = 'ls'
                tables
                data = result
                exceptions
                tcpip_error = 1
                command_error = 2
                data_error = 3.

                *Con esta funcion descargamos algun archivo del servidor y lo deja en nuestra tabla interna
                call function 'FTP_CLIENT_TO_R3'
                exporting
                fname = docid
                rfc_destination = dest
                importing
                blob_length = slen
                tables
                blob = bindata.


                *Cerramos conexion.
                call function 'FTP_DISCONNECT'
                exporting
                handle = hdl.

                call function 'RFC_CONNECTION_CLOSE'
                exporting
                destination = dest
                exceptions
                others = 1.


                Pues creo fue una Macrorespuesta espero no verte aburrido pero la verdad te digo cuando yo vi el tema esperaba que alguien me lo dijera asi jajajaja.

                Ok.

                Suerte!!.

                Comentario

                • ayaxrojo
                  Junior Member
                  • feb
                  • 14

                  #9
                  Exelente macrorespuesta jajaja... me ayudo muchisimo en especial con el programa test.. ya que estaba declarando mal mi variable que recibe en pass y por eso me marcaba error y en el test vi como debia declararse .

                  Comentario

                  • asclevius
                    Member
                    • ago
                    • 54

                    #10
                    Originalmente publicado por Rodolfo SAP
                    Saludos.



                    * La contraseña la codificas para que pueda ser utilizada bajo un estandar de
                    * encriptacion.
                    call function 'HTTP_SCRAMBLE'
                    exporting
                    source = pwd
                    sourcelen = slen
                    key = key
                    importing
                    destination = pwd.


                    *Abres a conexion
                    call function 'FTP_CONNECT'
                    exporting
                    user = user
                    password = pwd
                    host = host
                    rfc_destination = dest
                    importing
                    handle = hdl.
                    Estoy tratando de seguir un ejemplo y me gustaria saber los valores de las variables

                    slen
                    key

                    en la función 'HTTP_SCRAMBLE'

                    adicionalmente el valor de "dest"

                    Gracias por todo

                    Comentario

                    Trabajando...