¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Conexão FTP a partir de um relatório ABAP: Exemplo de código simples para importar dados em uma tabela interna

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 29 Vistas
0
Cargando...

Olá Especialistas,

Como posso estabelecer uma conexão FTP a partir de um relatório ABAP? E uma vez estabelecida, posso importar os dados para a tabela interna?

Por favor, forneçam-me um exemplo de código simples.

Obrigado

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Uma vez que a conexão está aberta, é necessário chamar 'FTP_COMMAND' para baixar os dados? Ou simplesmente indicar o diretório em 'FTP_SERVER_TO_R3'? (Em FTP_SERVER_TO_R3, então deve-se indicar a tabela sob 'TABLES', texto = it_tab. Está correto?)

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Desde a última vez que verifiquei, o SAP só suporta conexões FTP por padrão. Não suporta SFTP (SSH File Transfer Protocol). Conexões SFTP requerem um projeto personalizado que inclua sua equipe de base.

Aqui está o que você precisa fazer para se conectar e interagir com um servidor via FTP. Para mais informações, procure exemplos de codificação no github em https://github.com/search?q=abap+ftp .

1. Os dados de entrada necessários são:

  • Nome de usuário FTP
  • Senha FTP
  • Indicar se a senha já está cifrada
  • Servidor/Nome do host FTP
  • Destino RFC de TCPIP para o programa interno 'sapftp', por padrão é 'SAPFTPA'

2. Criptografar a senha

Caso sua senha ainda esteja em texto plano, você precisa criptografá-la com a FM 'HTTP_SCRAMBLE' usando a senha em texto plano, seu comprimento e a chave '26101957'.

3. Conectar ao Host FTP

Para se conectar ao host FTP, você precisa chamar a FM 'FTP_CONNECT' com o usuário, a senha criptografada, o nome do host e o Destino RFC para o programa sapftp (por exemplo, SAPFTPA). O identificador retornado permite que você reutilize a sessão FTP até fechá-la, ou até que ela seja fechada automaticamente após, por exemplo, um tempo limite.

4. Interagir com o Host FTP no nível do diretório

Para interagir (ler/escrever) com o Host FTP, você precisa chamar a FM 'FTP_COMMAND' com o identificador da sua sessão FTP e o comando FTP. (alternativamente, você também pode enviar uma lista de comandos de uma vez com a FM 'FTP_COMMAND_LIST')

  • Mudar diretório: cd tudiretório
    Subir um diretório: cd ..
    Ir para o diretório raiz: cd "/"
  • Obter lista de diretórios atual (pastas e arquivos): ls -la (ou também apenas 'dir')
  • Renomear um arquivo ou diretório: rename nomeatual novoNome
  • Mudar modo de caracteres para transferir arquivos de texto: ascii

5. Enviar/Receber arquivos do Host FTP

Para baixar um arquivo do servidor FTP, use a FM 'FTP_SERVER_TO_R3' com o identificador de sessão, o nome do arquivo do diretório atual que você já conhece ou obteve da lista de diretórios, e o modo de caracteres 'C' para recuperar os dados como TEXTO (tabela de texto interna).

Para enviar um arquivo para o servidor FTP, use a FM 'FTP_R3_TO_SERVER' com o identificador de sessão, o nome do arquivo para o diretório atual. Se deseja enviá-lo como 'BLOB' (dados binários), você precisará transformar, por exemplo, uma string de texto em um X-String com 'SCMS_STRING_TO_XSTRING' e então transformar o X-String em uma tabela binária com 'SCMS_XSTRING_TO_BINARY'. A tabela binária resultante e o comprimento de saída também devem ser passados para a FM mencionada anteriormente 'FTP_R3_TO_SERVER'.

6. Desconectar do Host FTP e do Destino RFC

Para se desconectar completamente, você precisa chamar a FM 'FTP_DISCONNECT' com o identificador de sessão FTP e também a FM 'RFC_CONNECTION_CLOSE' para o Destino RFC (por exemplo, SAPFTPA).

Por favor, implemente sua solução e retorne com problemas mais específicos, caso ainda tenha dificuldades.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá,

Para estabelecer a conexão com o FTP, os seguintes passos devem ser seguidos: os módulos de funções a serem chamados foram listados e os parâmetros correspondentes devem ser passados.

CHAMAR FUNÇÃO 'HTTP_SCRAMBLE' "Para criptografar a senha

CHAMAR FUNÇÃO 'FTP_CONNECT' "Para conectar ao diretório de usuário do servidor FTP

CONCATENAR lógica de convenção de nomes de arquivo NO arquivo. "usado para selecionar o arquivo a ser lido.

Carregar o arquivo em uma tabela interna

CHAMAR FUNÇÃO 'FTP_DISCONNECT' "Para desconectar a sessão FTP conectada

CHAMAR FUNÇÃO 'RFC_CONNECTION_CLOSE'

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Desde a última vez que verifiquei, o SAP só suporta conexões FTP por padrão. Não suporta SFTP (Protocolo de Transferência de Arquivos SSH). Conexões SFTP requerem um projeto personalizado que envolva sua equipe base.

Aqui está o que você precisa fazer para se conectar e interagir com um servidor via FTP. Para mais informações, procure por exemplos de codificação no github em https://github.com/search?q=abap+ftp .

1. Os dados de entrada necessários são:

  • Nome de usuário FTP
  • Senha FTP
  • Indicar se a senha já está encriptada
  • Servidor/Nome do host FTP
  • Destino RFC de TCPIP para o programa interno 'sapftp', por padrão é 'SAPFTPA'

2. Encriptar a senha

Caso sua senha ainda esteja em texto plano, você precisa encriptá-la com a FM 'HTTP_SCRAMBLE' usando a senha em texto plano, seu comprimento e a chave '26101957'.

3. Conectar ao Host FTP

Para se conectar ao host FTP, você precisa chamar a FM 'FTP_CONNECT' com usuário, senha encriptada, nome do host e Destino RFC para o programa sapftp (por exemplo, SAPFTPA). O identificador retornado permite reutilizar a sessão FTP até que você a feche, ou até que seja fechada automaticamente após um tempo limite.

4. Interagir com o Host FTP a nível de diretório

Para interagir (ler/escrever) com o Host FTP, você precisa chamar a FM 'FTP_COMMAND' com o identificador da sua sessão FTP e o comando FTP. (alternativamente, você também pode enviar uma lista de comandos de uma vez com FM 'FTP_COMMAND_LIST')

  • Mudar diretório: cd tudiretório
    Ir para um diretório superior: cd ..
    Ir para o diretório raiz: cd "/"
  • Obter lista do diretório atual (pastas e arquivos): ls -la (ou também apenas 'dir')
  • Renomear um arquivo ou diretório: rename nomeatual novonome
  • Mudar modo de caracteres para transferir arquivos de texto: ascii

5. Fazer upload / download de arquivos do host FTP

Para baixar um arquivo do servidor FTP, use a FM 'FTP_SERVER_TO_R3' com o identificador da sessão, o nome do arquivo do diretório atual que você já conhece ou obteve da lista de diretórios, e o modo de caracteres 'C' para recuperar os dados como TEXTO (tabela de texto interna).

Para enviar um arquivo para o servidor FTP, use a FM 'FTP_R3_TO_SERVER' com o identificador da sessão, o nome do arquivo para o diretório atual. Se deseja enviá-lo como 'BLOB' (dados binários), você terá que transformar, por exemplo, uma string de texto em uma string X com 'SCMS_STRING_TO_XSTRING' e então transformar a string X em uma tabela binária com 'SCMS_XSTRING_TO_BINARY'. A tabela binária resultante e o comprimento de saída também devem ser passados para a FM mencionada anteriormente 'FTP_R3_TO_SERVER'.

6. Desconectar do Host FTP e do Destino RFC

Para se desconectar completamente, você precisa chamar a FM 'FTP_DISCONNECT' com o identificador da sua sessão FTP e também a FM 'RFC_CONNECTION_CLOSE' para o Destino RFC (por exemplo, SAPFTPA).

Por favor, implemente sua solução e retorne com problemas mais específicos, caso ainda tenha dificuldades.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?