Conexion FTP

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • goyleo
    Senior Member
    • sep
    • 102

    #1

    Conexion FTP

    Hola gente! lo que necesito es comunicarme via FTP con un servidor y no se bien como realizarlo...

    Tengo que generar un archivo de texto plano via FTP en otro servidor. El codigo que coloco es el siguiente


    L_USER = 'LEO'.
    L_PASSWORD = 'PEPEU2'.
    L_HOST = '192.168.1.1'.
    L_DESTINATION = 'RFCSAP'.


    * Función para Conectarse al Servidor FTP
    CALL FUNCTION 'FTP_CONNECT'
    EXPORTING
    USER = L_USER
    PASSWORD = L_PASSWORD
    HOST = L_HOST
    RFC_DESTINATION = L_DESTINATION
    IMPORTING
    HANDLE = L_HANDLE
    EXCEPTIONS
    NOT_CONNECTED = 1
    OTHERS = 2.



    * Funcion para Enviar los Archivos al Servidor FTP
    CALL FUNCTION 'FTP_R3_TO_SERVER'
    EXPORTING
    HANDLE = L_HANDLE
    FNAME = '192.168.1.1\MI_CARPETA'
    BLOB_LENGTH = L_LEN GTH
    CHARACTER_MODE = 'X'
    TABLES
    TEXT = lt_mi_tabla
    EXCEPTIONS
    TCPIP_ERROR = 1
    COMMAND_ERROR = 2
    DATA_ERROR = 3
    OTHERS = 4.

    * Función para Desconectarse del Servidor FTP
    CALL FUNCTION 'FTP_DISCONNECT'
    EXPORTING
    HANDLE = L_HANDLE
    EXCEPTIONS
    OTHERS = 1.


    ¿Este seria el procedimiento correcto?
    La variable L_LEN GTH que dato lleva la cantidad de registros de la tabla??

    Muchas Gracias.
  • ballan
    Senior Member
    • oct
    • 671

    #2
    El password de la FTP_CONNECT tienes que encriptarlo primero, para ello puedes utilizar una funcion que se llama HTTP_SCRAMBLE o algo parecido (ahora no tengo SAP para mirarlo)

    Comentario

    • goyleo
      Senior Member
      • sep
      • 102

      #3
      Hola !!! Gracias por lo de la encriptacion ahora agrego el codigoa antes de conectar por ftp.

      Tengo una nueva duda... Necesito obtener 1 o varios archivos de una ruta del servido destino al cual me conecto por via FTP, mi idea seria usar la siguiente funcion

      * Se obtiene archivo del servidor
      CALL FUNCTION 'FTP_SERVER_TO_R3'
      EXPORTING
      HANDLE = L_HANDLE
      FNAME = l_ruta
      CHARACTER_MODE = 'X'
      IMPORTING
      BLOB_LENGTH = L_CANT
      TABLES
      TEXT = P_T_TXT

      Mi duda es si la variable l_ruta tiene que ser especifica para un archivo
      Ej: 192.168.1.1\leo.txt

      O si la variable l_ruta al ser 192.168.1.1 obtiene todos los archivos del servidor volcando los datos en P_T_TXT???

      Comentario

      • ballan
        Senior Member
        • oct
        • 671

        #4
        No, la funcion te trae fichero a fichero

        Para traerte todos tendrias que leer los ficheros que hay en la carpeta del servidor y hacer un bucle

        Para leer los ficheros que hay en una carpeta de servidor hay una funcion que se llama EPS_GET_DIRECTORY_LIST o algo parecido, si tu servidor es UNIX tienes que fijarte en que distingue entre mayusculas y minusculas por lo que /tmp no es el mismo directorio que /TMP

        Comentario

        Trabajando...