Criando uma dll de acesso ao SAP em .Net 2003 (frwk 1.1) Por: Michel Viana Por algumas vezes já precisei fazer consultas na base de dados do SAP para recuperar ou validar informações para sistemas .net Webforms ou Windows. Como encontrei algumas dificuldades, resolvi escrever este artigo para contribuir com os colegas. Ferramentas a serem usadas: - MS. VISUAL STUDIO 2003 Abrindo um parêntese... A SAP já possui um conector mais recente, porém o conector para o vs2003 é muito mais prático. A versão para o VS 2005 gera uma classe para tabela do SAP (que você pode selecionar as que desejar através de filtros) com as propriedades e métodos de acesso. Além disso ela gera um classe “principal” que a SAPProxy, que é quem faz a conexão com o SAP e instancia as outras classes. Já o conector para VS 2003 gera uma simples DLL que deve ser instanciada no seu sistema. Ela já mapeia automaticamente todos os artefatos do SAP necessários para recuperar as informações desejadas, reduzindo um pouco a mão de obra. A DLL gerada pode ser facilmente utilizada em aplicativos desenvolvimento no VS 2005 frwk 2.0. Só para conhecimento geral...Vamos ao que interessa! Além do VS 2003 você precisará ter instalado na máquina de desenvolvimento: - JRE – Java Runtime Enviroment (ou o antigo jvm – Java virtual machine) - JDK – Java development Kit (neste exemplo usei a versão 6 update 17) - SAPGui – Logon no SAP - E o principal, o SAP.NET CONNECTOR para VS 2003. Esse foi o que deu um pouco mais de trabalho de achar, mas pode ser encontrado na área de downloads deste do blog. ** Não vou me aprofundar nas instalações, pois são instalações normais do tipo nextnext-finish. ** Após se certificar de que todas estas ferramentas estão instaladas, vamos ao VS 2003 e mãos a obra. 1 – Peça um novo projeto; - Esta etapa vai variar de acordo com a sua necessidade. Eu optei por fazer um DLL específica de acesso a uma rfc do SAP, chamada RFC_READ_TABLE, que é standard e tem a função de ler qualquer tabela do SAP. (Aguarde o próximo artigo com uso da DLL que estamos criando neste artigo); - Você pode ainda gerar uma class library ou até mesmo implementar o acesso internamente em sua aplicação. Optei por fazer externo, pois isso me permite uma melhor manutenção. 2 – Na tela de novo projeto, selecione SAP Connector Class. Dê o nome “SAP_READ_TABLE” e informe o diretório onde deve ser salva. 3 – Logo em seguida a tela abaixo será exibida. Trata-se do wizard que o guiará na criação da DLL. * clique em next; 4 – Na tela a seguir, coloque o endereço IP do servidor do SAP que você deseja se conectar. Preencha os outros campos como Cliente, User e Password. ATENÇÃO: O SAP é case sensitive para usuários e senhas, sendo assim, este conector EXIGE que a senha tenha no máximo 8 caracteres e que tanto a senha quanto o usuário sejam todos em caixa alta (maiúscula), caso contrário, o conector não consegue seguir adiante. * clique em next; 5 – Agora vamos localizar nossa rfc. Digite parte do nome usando * como expressão regular e depois clique em Search. * Mova a rfc para lado direito e clique em next; 6 – Aguarde o processamento 7 – Ao fim do processamento se Solution Explorer deve estar mais ou menos assim: * Dê um duplo clique no arquivo RFC_READ_TABLE.sapwsdl Repare que foi feito um mapeamento de alguns artefatos do SAP que interagirão entre si para se conectar no SAP e retornar os dados solicitados. Pronto, basta compilar seu projeto e gerar sua DLL. No diretório onde você salvou seu projeto /bin/Debug existirão 2 dll’s. Basta você instanciar as duas em seu projeto no visual Studio 2005 e invocar seus métodos e propriedades. No próximo artigo mostrarei como utilizar esta DLL num projeto do visual Studio 2005, não perca. Att. Michel Viana .Net/BI Consulting – SAP Integrator Specilist