quarta-feira, 19 de outubro de 2016

Integração – Parte I DLL

Nessa série de posts iremos abordar as formas de integração do SAP com o mundo exterior. O SAP possui várias formas de se integrar com outros sistemas e hardwares. Durante meu primeiro projeto SAP tínhamos que executar a integração de uma balança de pesagem de caminhão. A balança era um hardware de interface muito simples unidirecional de comunicação serial e para integração com o antigo ERP havíamos desenvolvido uma DLL que simplificava o trabalho. A dll foi batizada de Peso.dll. A alta gestão do projeto vendo esse imenso DELTA escalou nada mais nada menos que Mestre Toyol, líder ABAP do projeto, chefe e mentor intelectual de Isaias Tupinambá. Após expormos a problemática para o Toyol. Ele virá seguro de si e diz:
- O SAP não invoca DLL.
Então pergunto para Toyol quais são as alternativas. Toyol abre o Google no seu navegar e faz a pergunta certa para o problema “How Connect SAP Peso.dll” o Google prontamente responde:
Your search - How Connect SAP Peso.dll - did not match any documents.
Toyol exclama:
Que burro!
Refazendo a consulta: “How Connect SAP Weight.dll” E o Google responde novamente:
Your search - How Connect SAP Weight.dll - did not match any documents.

Uma dll pode ser ligada ao programa chamador em tempo de compilação ou em tempo de execução, porem o SAP por motivos óbvios não pode ter uma DLL externa ligada em tempo de compilação e também não implementa a ligação em tempo de execução. Porém o SAP está atualizado as mais modernas tecnologias e sua interface (SAPGui) para o sistema operacional Windows pode se conectar a objetos COM (Component Object Model). O COM é uma tecnologia desenvolvida pela Microsoft em 1993 que entre outras coisas define um padrão binário para sediar implementações de objetos em arquivos .DLL e .EXE.
Para integrar o SAP a balança de caminhões desenvolvemos um COM para fazer a conexão via serial com a balança e retornar para o SAP o peso. Um exemplo pode ser visto no link []. Com o COM pronto é necessário registrar o objeto na transação SOLE.


Agora é só invocar o método com o comando CALL METHOD dessa forma:
*You open an EXCEL file using the ‘Open’ method.

INCLUDE OLE2INCL.
DATA  EXCEL    TYPE OLE2_OBJECT. 
DATA  WORKBOOK  TYPE OLE2_OBJECT.
CREATE OBJECT EXCEL 'Excel.Application'.
CALL METHOD OF EXCEL 'WORKBOOKS' = WORKBOOK.
CALL METHOD OF WORKBOOK 'Open' EXPORTING #1 = 'C:\EX1.XLS'.

Estamos publicando essa página para a próxima vez que o Toyol pesquisar o Google não o decepcionar.

Nenhum comentário: