De que se trata o artigo:

Neste artigo será apresentado o SAP .NET Connector 3.0, componente utilizado para integrar aplicações .NET com o ERP da SAP.

Em que situação o tema é útil:

Como o número cada vez maior de empresas que utilizam o ERP SAP R/3, cresce também a demanda de integrar funcionalidades do mesmo com outras aplicações. O SAP .NET Connector na versão 3.0 possibilita de forma simples e rápida a implementação dessa integração com qualquer tipo de aplicação em .NET.

Resumo do DevMan:

SAP .NET Connector 3.0: A principal forma de integração do SAP com sistemas externos são funções chamadas de RFCs. Com a utilização do SAP .NET Connector criaremos uma Aplicação ASP .NET para chamar duas delas - uma para uma consulta de endereço de Cliente e outra para um Grid de dados de Produtos.
Autores: Maurício Antunes Olivieira e Bruno Lucattelli

Um pouco sobre SAP

Criadora do consagrado ERP R/3, a SAP está presente em mais de 50 países e detém cerca de 20% do mercado mundial de soluções corporativas em grandes e médias empresas. O Brasil, em crescimento acelerado no uso da plataforma, ocupa o terceiro lugar nesta lista, com quase três mil clientes usando uma ou mais soluções da empresa.

Projetada para ser independente de hardware e sistema operacional, a maior parte da lógica de negócio existente na plataforma é desenvolvida usando uma linguagem de programação própria, o ABAP (Advanced Business Application Programming). Para funcionar, o código ABAP é executado em um servidor de aplicação, também proprietário, com versões disponíveis para diversas opções de hardware e sistemas operacionais como Windows, Unix, Linux, AIX etc.

Para o usuário final, utilizar o SAP significa fazer uso do SAP GUI, um aplicativo cliente que se conecta ao servidor de aplicação ABAP. Basta possuir a versão para seu sistema operacional e efetuar o login para poder utilizar o sistema.

SAP e .NET

Com o uso do ERP no dia a dia das empresas para controle de suas operações, o R/3 (produto SAP com ambiente cliente/servidor) se transformou em uma rica fonte de dados e regras de negócio. Não demorou muito para surgir à necessidade de usar estes mesmos dados e regras em outros sistemas corporativos para plataformas diferentes.

Por exemplo, o ERP mantém a base de dados de todos os fornecedores de uma empresa. Se a mesma decide criar um site em ASP.NET onde seus fornecedores podem visualizar seu cadastro e fazer atualizações de dados de contato, precisará fazer este site interagir com a base de dados de fornecedores no SAP.

Para isso, a SAP desenvolveu conectores capazes de fazer sistemas desenvolvidos em outras plataformas como Microsoft .NET a se conectar e interagir com o ERP através da execução de Business APIs ou BAPIs.

RFCs e o SAP .NET Connector

Por muito tempo a única forma de integrar o SAP com outras aplicações era através do tráfego de arquivos de texto. Além disso, o uso do SAP GUI pelos usuários finais requer domínio sobre uma série de conceitos exclusivos da plataforma, tornando a UI (User Interface) pouco intuitiva.

Esses aspectos destacam a importância da principal tecnologia de comunicação que a SAP veio a disponibilizar, a RFC (Remote Function Call). Uma RFC consiste em uma API de negócio desenvolvida em ABAP que pode ser usada tanto dentro como fora do SAP. Fazendo uso de uma antiga DLL da SAP, qualquer aplicação externa poderia então efetuar a chamada dessa função. Mas essa abordagem raramente é viável se levada em consideração a complexidade da codificação necessária para tal.

De olho na plataforma .NET, a SAP criou o SAP .NET Connector, que disponibiliza um conjunto de classes que abstrai para o desenvolvedor .NET toda a parte pesada, principalmente no que diz respeito a passagem de parâmetros.

O SAP .NET Connector chegou a ficar vários anos sem atualizações, tanto tempo que nem parece que a versão mais nova (3.0) já completou um ano de existência. Entre as diversas melhorias, destacamos na 3.0 a não-dependência de versão do Visual Studio (o 2.0 era amarrado ao VS 2003).

Fazer a chamada de RFCs com o SAP .NET Connector é simples, o maior trabalho está em obter informações sobre parâmetros de entrada e saída. Por isso, antes de qualquer coisa no .NET, iremos examinar e testar a execução de uma RFC no próprio SAP.

Nota: A partir de agora iremos falar sobre alguns conceitos e funcionalidades pertencentes ao "Mundo SAP". Sabemos que o principal interesse é o desenvolvimento no .NET, mas faria pouco sentido explicar e demonstrar o funcionamento do SAP .NET Connector ao chamar uma funcionalidade sem saber o que a mesma é ou faz.

Se sua empresa utiliza o SAP, a breve visita que faremos no SAP GUI irá ajudar na assimilação desses conceitos.

Perfis profissionais SAP

Nos projetos envolvendo o SAP, é comum vermos três perfis de profissional. O primeiro é o Basis, responsável pela manutenção dos servidores e pelos acessos (é ele quem providencia o usuário para acesso ao ambiente ABAP). O segundo é o programador ABAP, responsável por construir novas funcionalidades e/ou customizar as existentes para aumentar a aderência da solução aos processos da empresa. O terceiro é o Funcional, que discute o processo em termos de negócio e o transforma em solução dentro da plataforma SAP.

Portanto, ao se deparar com uma demanda de trabalho de Integração SAP / .NET, discuta a mesma com a equipe SAP primeiro para se interar do contexto a ser explorado, conseguir os acessos e os nomes das RFCs que serão usadas. Se não possui uma demanda, a sugestão é você utilizar os exemplos deste artigo para construir um Projeto de Prova de Conceito.

Fazendo login no SAP

Com os acessos providenciados e o nome da RFC, é possível consultar a estrutura de parâmetros no SAP e fazer alguns testes com ela. Para acessar uma RFC dentro do SAP é necessário iniciar o programa SAP Logon (Figura 1), que normalmente já fica instalado nas máquinas conectadas na rede de empresas que usam o SAP.

...
Quer ler esse conteúdo completo? Tenha acesso completo