¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como fazer FTP a partir de ABAP: Guia completo e solução do SAP

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 36 Vistas
0
Cargando...
Introdução
O uso de FTP a partir de ABAP parece ter sido um tema quente nos fóruns de ABAP ultimamente. Pensei em sentar e documentar tudo o que pudesse encontrar sobre este assunto e compartilhá-lo como um blog.

Ao longo dos anos, tenho visto muitas soluções diferentes para mover arquivos dentro e fora de um sistema SAP. Vi scripts de FTP externos escritos em linguagens de shell de sistemas operacionais. Vi aplicações personalizadas completas feitas para interagir com o sistema SAP. No entanto, acredito que você encontrará que a maioria da tecnologia que você precisa para realizar um simples FTP a partir de ABAP já está contida no sistema padrão. Todos os meus exemplos e capturas de tela serão de um sistema 46C.

Solução SAP
Se você já deu uma olhada no diretório do kernel do seu sistema SAP, pode ter notado um pequeno executável interessante: sapftp.exe (o nome do arquivo nos Kernels do Windows SAP). É esta parte do Kernel que expõe a funcionalidade de FTP para a linguagem de programação ABAP.

Então, você suspeita que há funcionalidade de FTP em ABAP, mas não tem certeza de como usá-la. Por onde começar? Eu sempre recorro primeiro ao Marketplace de Serviços. Uma rápida busca por SAPFTP revela que há um componente completo (BC-SRV-COM-FTP) sobre o assunto. A nota mais geral e nosso ponto de partida é a Nota OSS 93042. Esta nota começa com uma boa descrição do que é o SAPFTP: um cliente RFC de aplicativo ao qual se acessa via RFC a partir de ABAP. Mas também descobrimos que além de o SAPFTP fazer parte do kernel, também faz parte do SAPGui. Isso significa que podemos executar comandos de FTP que se originam de nosso servidor R/3 ou de uma estação de trabalho cliente.

Bem, se esta solução é acessada via RFC, então precisamos configurar alguns destinos RFC. Na verdade, temos dois que precisamos; SAPFTP para FTP de Front-end e SAPFTPA para o acesso no servidor de aplicativos. Felizmente, nem precisamos nos preocupar em configurar esses destinos RFC no SM59. A SAP forneceu um programa, RSFTP005, para gerar os destinos para nós.

Antes de começar a escrever código por conta própria para usar essas funções de FTP, por que não garantir que tudo esteja configurado e funcionando? Novamente, a SAP nos ajudou fornecendo um programa de teste, RSFTP002. (Caso você esteja se perguntando, a funcionalidade de FTP e muitos outros programas de teste estão todos contidos na Classe de Desenvolvimento do SAP SFTP). Quando executamos este teste, obtemos um conjunto de parâmetros de entrada para o servidor, nome de usuário, senha, etc. Queremos começar de forma simples e apenas garantir que estamos obtendo uma conexão. Portanto, só executaremos o comando pwd (Imprimir Diretório de Trabalho).


Sua resposta deve parecer algo assim:


Se deseja ver uma lista de comandos de FTP, tente usar o comando HELP em vez de PWD:


Se algo deu errado durante o teste, sugiro ativar a opção de rastreamento em SM59 para o Destino de FTP. Em seguida, você pode usar o programa RSFTP001 para mostrar o arquivo de rastreamento atual.

Programando o FTP
O programa RSFTP002 não apenas nos fornece um ambiente de teste, mas também nos dá um exemplo de programação. Podemos ver que a funcionalidade de FTP é realmente fornecida por meio de um conjunto de módulos de função todos dentro do Grupo de Funções SFTP. Temos os comandos básicos como FTP_CONNECT, FTP_COMMAND e FTP_DISCONNECT que podem ser combinados para criar uma ação de operação de arquivo completa. A Função FTP_COMMAND permite emitir comandos de FTP arbitrários sempre que a função SAPFTP, o Host e o servidor de destino suportarem o comando. Em seguida, você tem as funções especializadas como FTP_R3_TO_SERVER, FTP_R3_TO_CLIENT e FTP_CLIENT_TO_R3. Isso permite que você pegue alguns dados na memória e os transfira para outro local. Isso tem a vantagem de não precisar escrever os dados no sistema de arquivos primeiro e não precisar emitir comandos de FTP. No entanto, essas funções também estão limitadas ao escopo descrito.

Se você já está familiarizado com FTP em geral, trabalhar com esses módulos de função não deve parecer muito difícil. As ações de Conexão, Comando e Desconexão pareceriam algo autoexplicativas. Então, em vez de analisar o programa completo em detalhes, vamos nos concentrar em duas coisas que
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

Sin respuestas

No hay respuestas para mostrar No hay respuestas para mostrar Se el primero en responder

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?