MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Conexion FTP (foro/showthread.php?t=38328)

goyleo 19/08/10 13:57:08

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 19/08/10 14:39:28

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)

goyleo 19/08/10 14:59:07

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???

ballan 19/08/10 15:50:20

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


Husos Horarios son GMT. La hora en este momento es 00:45:36.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web