cancel
Showing results for 
Search instead for 
Did you mean: 

Iniciando integração com SAP - Software de Pagamentos em JAVA

Former Member
0 Kudos

Olá pessoal,

Nossa empresa foi contatada para efetuar a Integração de Pagamentos com o SAP, porém não sabemos nada sobre o SAP e estou iniciando a análise lendo alguns documentos que nos foram enviados, como o Payment Card Interface to R/3.

O detalhe é que falta muito conhecimento e não sei nem por onde começar. Pelo que li tem que ser feita essa integração usando o tal RFC para conectar no R/3, só que ainda nem entendi muito bem do que se trata cada um.

Como utilizamos JAVA para desenvolvimento, acredito que precisaremos utilizar o SAP Java Conector também. Será que é por aí que devemos começar ?

Peço ao pessoal que já domina todos esses conceitos que talvez ajude a direcionar nosso foco e tire algumas dúvidas sobre as tecnologias mencionadas acima.

Agradeço desde já.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Rodrigo, tudo bem?

É um pouco difícil responder a sua pergunta, dada a quantidade de opções que temos do lado SAP. Vou explicar de forma "rasa" alguns dos conceitos, veja se ajuda um pouco .

"Usar uma RFC" nada mais é do que chamar uma função do ABAP que suporte conexões RFC (remote function calls). O sistema externo tem parâmetros de conexão (ip, etc), e dispara a comunicação preenchendo os parâmetros com dados de acordo com a definição da função do lado SAP.

Se vocês pretender utilizar o JCo para acesso direto, terão que pedir ajuda de alguma pessoa que conheça ABAP, para definir qual função vocês precisaram disparar para tomar alguma ação do lado SAP (criar um documento contábil, por exemplo). O ABAP pode criar uma função totalmente nova (função "Z", customizada), ou utilizar alguma alternativa standard (criada pela SAP e nativa do sistema).

No SAP existem funções que automatizam a criação de documentos, elas são chamadas de BAPIs. Porém o preenchimento das BAPIs não é muito intuitivo, pois as opções de criação de documentos são muitas. Além disso, o SAP possui algumas limitações quanto ao tamanho e nomenclatura de campos, o que faz com que um campo seja menos descritivo com o que vocês devam estar acostumados do lado Java ( ex.: companyCode, em muitos casos, vira 'bukrs' ). A chama de BAPIs é síncrona, ou seja, a aplicação que conectou ao SAP vai ter que esperar a BAPI acabar de executar, o que pode demorar dependendo da qtde de registros criados/alterados/deletados.

Para comunicações assíncronas, vocês podem utilizar os IDOCs (Intermediate Documents,o JCo dá suporte), que são criados a partir de funções RFC específicas. Eles tem um formato bem definido (espécie de XML, com níveis de estruturas), e também criam documentos dentro do SAP. Porém utilizar um IDOC envolve algumas configurações do lado SAP que devem ser feitas por algum profissional com conhecimento da ferramenta.

Se a empresa de vocês utilizar o middleware da SAP, o PI, faz mais sentido conectar o SAP e o Java utilizando o PI, que centraliza as comunicações entre sistemas diferentes, e abstrai parte da complexidade de conexões (ele consegue "traduzir" mensagens de um sistema para o outro). O PI tem suporte total a conexões Java.

Enfim, são muitas questões... Como disse o , acho melhor vocês conseguirem alguém que trabalhe com SAP para ajudá-los. Espero que com essas informações, vocês ao menos consigam encontrar a pessoa certa

Abraços e boa sorte!

ronildo
Product and Topic Expert
Product and Topic Expert
0 Kudos

Muito bom ! Como vc menciona é preciso conhecer melhor a necessidade e caso de uso pra determinar a melhor forma de integracao. A questão do cenário síncrono ou assíncrono é fundamental nessa análise.

Lembro que para casos síncronos disparados por usuário (transacao eventual e não processo batch), existe a opção de uso do SAP NetWeaver Gateway que expõe funcionalidades do sistema backoffice (ex: ECC) como servicos REST que podem ser consumidos em diferentes experiências de uso (website. aplicação mobile, formulario Shareponit,...).

Abs!

Answers (4)

Answers (4)

0 Kudos

Boa tarde Rodrigo,

Nas situações em que queremos desenvolver integrações sincronas ou assincronas é normalmente utilizado o SAP PI ( ou antes chamado SAP XI). O SAP PI tem maior facilidade em integrar com sistemas externos através de webservices utilizando o adaptador SOAP axis.

É possivel integrar com SAP R3 sem SAP PI mas é mais complicado. Se o objectivo é ter muitas integrações com motor de alertas para controlo de erros o melhor é optar pelo SAP PI.

Alternativamente, se a ideia for invocar webservice SAP (que sejam relativamente simples), podem criar esses WS a partir das tais RFC utilizando para isso o Soamanager. Assim evitam instalar o SAP PI, que embora seja mais completo, traz um maior nível de complexidade.

Cumprimentos

Former Member
0 Kudos

Rodrigo, aqui na empresa temos várias integrações com o SAP e sistemas legados, todas utilizando PI.

Não tem segredo algum, agora como o pessoal comentou, você vai precisar pessoas que conheçam bem todas as tecnologias envolvidas.

Aqui temos sistema legado em Java (WEB) e SqlWindos, e utilizamos soluções síncronas e assíncronas, pois isso depende muito da necessidade.

Utilizando o PI você tem a possibilidade de integração através de web service ou banco de dados. No caso de web service (ao meu ver mais indicado para soluções síncronas) você vai precisar das tais RFCs, que nada mais é que uma função habilitada para ser acessada remotamente. Com essa função o especialista em PI cria um web service para ser consumido externamente. Daí pra frente é só sua aplicação Java fazer uso desse serviço.

Com banco de dados a solução é mais simples, você deve criar tabelas de integração ou até mesmo o SAP chamar alguma função diretamente no banco de dados. Nesse caso não vejo a possibilidade de solução síncrona no sentido legado -> sap, já no inverso sim, através das chamadas das funções no banco.

Uma dica que dou é perder um pouco mais de tempo procurando alguma BAPI (função) standard, pois o risco de implementação reduz consideravelmente.

Boa sorte e qualquer dúvida é só postar aqui.

Abraços!

henrique_pinto
Active Contributor
0 Kudos

This message was moderated.

0 Kudos

Henrique, boa noite, tudo bem?

Eu gostaria de saber se a SAP disponibiliza serviços para ser consumidos através do Web Service.

Fico no aguardo

henrique_pinto
Active Contributor
0 Kudos

Vc clicou em Alert Moderator?

Algum moderador aceitou o abuse report e deleteu minha mensagem sem nem analisar e agora o post foi perdido.

Pq vc clicou em Alert Moderator?

Former Member
0 Kudos

acho deu bug de novo! não saiu nenhuma msg para os moderadores.

Marssel700
Active Contributor
0 Kudos

Rodrigo,

primeiramente eu não vejo como avançar nessa demanda sem um recurso SAP.

Não perca seu tempo tentando aprender algum módulo do dia pra noite, pois o máximo que você vai conseguir é criar alguma coisa errada ou nem sequer terminar o que começou.

Você vai precisar de um Consultor Funcional da área em questão, um analista do sistema em Java, e um ABAP para desenvolver a interface.

Não deve ser nada complexo. Um de/para bem especificado entre os dois sistemas vai ser o suficiente para desenvolver essa solução.

Abs