Pergunta

Então, eu apenas fui despejado no meio de um projeto envolvendo SAP. Especificamente, preciso usar as APIs do SAPS BAPI para extrair várias informações do sistema SAP "do cliente". Dado que a SAP é uma plataforma fechada, tenho problemas para encontrar uma visão geral de alto nível do Who/What/where/when/wel of SAP e BAPI. Especificamente

  1. O BAPI é apenas um invólucro para sabão e/ou XML-RPC, ou é um formato de comunicação completamente proprietário?

  2. Existe uma extensão ou biblioteca PHP para trabalhar com essas APIs?

  3. Eu vi o acrônimo ABAP jogado ao redor. O que isso significa e onde se encaixa nas coisas?

Neste ponto, estou procurando bons recursos que possam me dar a visão de 10.000 pés. Sei que você poderia passar a vida inteira trabalhando com esse sistema ERP e ainda não entende a coisa toda. Eu só quero uma visão geral básica para que eu possa conversar com o pessoal da SAP "do cliente" e não parecer um Newb completo.

Foi útil?

Solução

Bapi significa Business UMApplication Programas EUNTERFace.

O objetivo da SAP ao apresentar os Bapi era fornecer ...

  • bem definido
  • estábulo
  • Independente da implementação
  • bem documentado

APIs de negócios que fornecem acesso padronizado às soluções SAP em nível semântico.

Ainda assim, os BAPI são interfaces de SAP proprietárias.

As interfaces BAPI fornecem um acesso unificado à funcionalidade do nível do aplicativo, independentemente do tipo de chamada: o processamento síncrono e assíncrono pode ser acionado usando essas interfaces.

O processamento síncrono de um BAPI resultará na execução de uma RFC (chamada de função remota, protocolo RPC proprietário da SAP).

O processamento assíncrono faz com que o uso transparente da ALE (ativação do link do aplicativo, formato EDI proprietário da SAP).

Produtos como o adaptador SAP WebMethods (também conhecido como SAP Business Connector) fornecem acesso ao nível de serviço bidirecional aos BAPI's, bem como aos protocolos RFC e ALE de nível inferior de/para um destino remoto.

Usando essas ferramentas, não há necessidade de se preocupar com o ABAP, a linguagem de programação 4GL toda a lógica de negócios da SAP é implementada.

Existem também vários mapeamentos XML definidos para os BAPI (assim como RFC e IDOCs) que permitem transmitir documentos comerciais dentro de um envelope XML. Estes são mais perceptíveis

  • BXML (Tipo de Conteúdo: Application/X-Sap.busdoc)
  • RFC-XML (Tipo de Conteúdo: Application/X-Sap.rfc)
  • IDOC-XML (Tipo de Conteúdo: Application/X-Sap.idoc)

bem como sabão.

Outras dicas

Ok, vou dar uma chance ...

  1. ABAP é a linguagem de programação que a maior parte do sistema SAP está escrita. É basicamente uma versão 4/GL do COBOL com alguns SQL adicionados.

  2. O BAPI ("API de negócios") é a especificação da interface da SAP e uma maneira de obter informações do sistema. Eu diria que a maneira mais simples de examiná -lo é como uma chamada de procedimento remoto para o sistema SAP, fornecendo acesso aos dados e funcionalidade (Writtten in ABAP) que está no SAP. Ele fornece algumas API para retirar os dados do sistema (por exemplo, um pedido), altere -o no seu aplicativo (por exemplo, adicione posições ao pedido) e depois poste -o de volta e também ligue para as funções de negócios (por exemplo, poste este pedido para que seja mais adiante processado no sistema SAP).

  3. Existem invólucros para chamar Bapis de vários idiomas. Basta pesquisar no Google ou pesquisar no sistema de ajuda da SAP ou na rede de desenvolvedores SAP on -line em sdn.sap.com

Boa sorte em não parecer um Newb .. ou apenas admito ... Boa sorte!

  1. Esqueça Bapi por um segundo. O SAP possui um protocolo de comunicação proprietário chamado RFC (chamada de função remota). O SAP fornece uma DLL (ou biblioteca compartilhada para *nix) que você pode usar para chamar funções no SAP de c. A SAP também fornece embalagens desta DLL para Java e .Net. E existem embalagens de código aberto desta DLL para PHP, Python, Perl e Ruby. Então o processo é. a) Alguém desenvolve uma função (remota ativada) no ABAP. b) Você pode usar a DLL da RFC, com o invólucro para o seu idioma de escolha, e chamar essa função SAP. c) Todo mundo está feliz.

    Vamos retornar ao BAPI. Com base na tecnologia descrita na seção anterior. A SAP decidiu criar um conjunto de funções que fazem coisas de negócios. E eles decidiram chamá -los de Bapi. Porque o nome "Funções que fazem coisas de negócios" não é legal.

  2. Aqui está o Extensão do PHP para ligar para o SAP. Você também pode encontrar muitas informações sobre PHP e SAP no SAP SDN.

  3. ABAP é o idioma da plataforma SAP.

Os BAPIS são módulos de função ativados remotamente que possuem alguns "padrões" de programação anexados a eles se alguém quiser chamá -los de "BAPIS", por exemplo, mensagens retornadas em determinados formatos, os parâmetros digitaram de uma certa maneira. Eles realmente não são mais do que módulos de função SAP ativados para comunicação remota por meio de um botão de rádio.

Discordo que não é necessário escrever o código SAP, porque a SAP forneceu muitos BAPIS para cobrir a maioria das coisas padrão. Quase toda implementação requer código e o SAP entregue o material é apenas a base. Os gerentes e tipos de vendas dirão de maneira diferente, mas isso simplesmente não é realidade.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top