Olá...
Recentemente tive a necessidade de integrar o Forefront Identity Manager 2010 com o SAP HR ECC 6.0 em um projeto.
Não foi surpresa ao executar o ERP Configuration Manager ver mensagens de erro indicando a ausência de DLLs para conectar ao SAP.
Baseado nessa demanda, busquei a forma de fazer com que o ERP Configuration Manager funcionasse em meu servidor FIM2010.
O primeiro passo foi tentar instalar o SAP Connector no servidor, o qual não funcionou devido a incompatibilidades com o Windows Server 2008 X64 e a ausência do .Net Framework 1.1
Mesmo instalando o .Net Framework 1.1 a instalação do pacote MSI do Sap Connector não chegava até o final.
Para contornar este problema, eu extraí os arquivos do SAP.Net.Setup_2.0 msi usando o MSIEXEC.EXE.
A documentação existente sobre o ERP Configuration Manager diz que somente as DLL´s SAP.Connector.Dll, SAP.Connector.Rfc.dll, LibRfc.dll são necessárias.
Não há a necessidade de instalação do .Net Framework 1.1 no seu servidor FIM2010.
Para extarir os arquivos do pacote MSI execute o seguinte comando:
msiexec /a SAP.Net.Setup_2.0.msi /qb TARGETDIR=c:\SAPConnector
Os arquivos SAP.Connector.Dll, SAP.Connector.Rfc.dll estarão na raiz da pasta SAPConnector e o arquivo LibRfc.dll estará na pasta SAPConnector\System Folder.
Copie SAP.Connector.Dll, SAP.Connector.Rfc.dll para a pasta c:\windows\sysWOW64
Copie o arquivo LibRfc.dll para a pasta C:\Program Files\Microsoft Forefront Identity Manager\2010\Synchronization Service\UIShell\ERPMA
Após copiar os arquivos será necessário registrar as DLL´s no GAC (Global Assembly Cache). Utilize o comando GACUTIL.EXE
Para facilitar inclua o seguinte caminho no Path do windows:
Set path=%path%;C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin
Execute os dois comando a seguir:
C:\gacutil /i c:\windows\SysWOW64\SAP.Connector.dll
C:\gacutil /i c:\windows\SysWOW64\SAP.Connector.Rfc.dll
A seguinte mensagem deverá aparecer no prompt
Microsoft (R) .NET Global Assembly Cache Utility. Version 3.5.30729.1
Copyright (c) Microsoft Corporation. All rights reserved.
Assembly successfully added to the cache
Embora na documentação não cite, será necessário copiar também as DLL´s msvcp71.dll e msvcr71.dll para uma destas pastas:
- C:\Program Files\Microsoft Forefront Identity Manager\2010\Synchronization Service\UIShell\ERPMA
- C:\Windows\SysWOW64
- C:\Windows
O ERP Configuration Manager faz chamada a essas duas DLL´s no momento de garar a DLL que será utilizada pelo Management Agent no Synchronization Service Manager.
Após o registro das DLL´s no GAC você já conseguirá abrir o ERP Configuration Manager
Na primeira vez que você executar o ERP Configuration Manager e se conectar a um servidor SAP, um cache das BAPI´s e Structs será feito no servidor do FIM2010.
O arquivo de cache pode ser localizado no caminho C:\Program Files\Microsoft Forefront Identity Manager\2010\Synchronization Service\UIShell\ERPMA com o nome BapiCache_SAPPRD.mdb, onde SAPPRD é o nome do servidor SAP Indicado na janela de conexão.
Se você usa BAPI´s customizadas em seu ambiente, será necessário incluí-las no filtro de Discovery. Por padrão somente as BAPI´s que atendem o seguinte filtro são colocadas no cache: BAPI_USER*;BAPI_EMPL*;BAPI_PERS*;BAPI_HR*;SUSR*;*RFC;Z*;Y*;BAPI_C*;BAPI_B*;
Após todo processo acima, iniciei a configuração para conexão com o SAP, fazendo indicação as BAPI´s que estão configuradas em meu ambiente.
Ao clicar no botão Salvar, dois arquivos (um arquivo XML e um arquivo DLL) serão criados na pasta C:\Program Files\Microsoft Forefront Identity Manager\2010\Synchronization Service\Extensions. Estes arquivos deverão ser utilizados para a criação do seu SAP Management Agente.
Até Breve!