Desde la última vez que verifiqué, SAP solo admite conexiones FTP de forma predeterminada. No admite SFTP (Protocolo de Transferencia de Archivos SSH). Las conexiones SFTP requieren un proyecto personalizado que incluya a tu equipo de base.
Esto es lo que necesitas hacer para conectarte e interactuar con un servidor a través de FTP. Para obtener más información, busca en github ejemplos de codificación en
https://github.com/search?q=abap+ftp
.
1. Los datos de entrada que necesitas son:
-
Nombre de usuario FTP
-
Contraseña FTP
-
Indicar si la contraseña ya está encriptada
-
Servidor/Nombre de host FTP
-
Destino RFC de TCPIP para el programa interno 'sapftp', por defecto es 'SAPFTPA'
2. Encriptar la contraseña
En caso de que tu contraseña aún esté en texto plano, necesitas encriptarla con la FM 'HTTP_SCRAMBLE' usando la contraseña en texto plano, su longitud y la clave '26101957'.
3. Conectar con el Host FTP
Para conectarte con el host FTP, necesitas llamar a la FM 'FTP_CONNECT' con usuario, contraseña encriptada, nombre de host y Destino RFC para el programa sapftp (por ejemplo, SAPFTPA). El identificador devuelto te permite reutilizar la sesión FTP hasta que la cierres, o hasta que se cierre automáticamente después de un tiempo de espera.
4. Interactuar con el Host FTP a nivel de directorio
Para interactuar (leer/escribir) con el Host FTP, necesitas llamar a la FM 'FTP_COMMAND' con el identificador de tu sesión FTP y el comando FTP. (alternativamente, también puedes enviar una lista de comandos a la vez con FM 'FTP_COMMAND_LIST')
-
Cambiar directorio: cd tudirectorio
Ir a un directorio superior: cd ..
Ir al directorio raíz: cd
"/"
-
Obtener lista de directorios actual (carpetas y archivos): ls -la (o también solo 'dir')
-
Renombrar un archivo o directorio: rename nombreactual nuevonombre
-
Cambiar modo de caracteres para transferir archivos de texto: ascii
5. Subir / Descargar archivos desde el host FTP
Para descargar un archivo del servidor FTP, utiliza FM 'FTP_SERVER_TO_R3' con el identificador de sesión, el nombre del archivo del directorio actual que ya conoces o obtienes de la lista de directorios, y el modo de caracteres 'C' para recuperar los datos como TEXTO (tabla de texto interna).
Para subir un archivo al servidor FTP, utiliza FM 'FTP_R3_TO_SERVER' con el identificador de sesión, el nombre del archivo para el directorio actual. Si deseas enviarlo como 'BLOB' (datos binarios), tendrás que transformar, por ejemplo, una cadena de texto en una cadena X con 'SCMS_STRING_TO_XSTRING' y luego transformar la cadena X en una tabla binaria con 'SCMS_XSTRING_TO_BINARY'. La tabla binaria resultante y la longitud de salida deben pasarse también a la FM mencionada anteriormente 'FTP_R3_TO_SERVER'.
6. Desconectarse del Host FTP y del Destino RFC
Para desconectarte por completo, necesitas llamar a la FM 'FTP_DISCONNECT' con el identificador de tu sesión FTP y también a la FM 'RFC_CONNECTION_CLOSE' para el Destino RFC (por ejemplo, SAPFTPA).
Por favor, implementa tu solución y vuelve con problemas más específicos, en caso de que aún tengas dificultades.