Saudações gudetama ,
- Um RFC é um código funcional.
- BAPI é um objeto de negócio.
- Os IDOCs ou documentos intermediários são estruturas de dados padrão para a troca eletrônica de dados (EDI) entre programas de aplicação.
OK, essa resposta é muito curta... então vamos ver cada um deles com um pouco mais de detalhes ?
RFCs
RFC significa Chamada de Função Remota e é a interface padrão da SAP para a troca de dados entre sistemas SAP ou entre sistemas SAP e não SAP.
RFC é um protocolo da SAP para lidar com comunicações, e é usado para chamar funções em um sistema SAP por um chamador externo à SAP ou para chamar programas externos à SAP a partir de um sistema SAP.
É o processo de chamar um módulo de função que reside em uma máquina diferente do programa chamador. Os RFCs também podem ser usados para chamar um programa diferente na mesma máquina, mas geralmente são usados quando os módulos de função/programas 'chamador' e 'chamado' são executados em máquinas separadas.
As funções só podem ser chamadas através de RFC, se estiverem marcadas como funções RFC no banco de trabalho de desenvolvimento da SAP.
BAPIs
BAPI significa Interfaces de Programação de Aplicações Empresariais e basicamente são um módulo de função habilitado para RFC . É uma biblioteca de funções publicadas para o público como uma interface em um sistema SAP existente a partir de um sistema externo.
Então, uma função BAPI é um módulo de função que pode ser chamado remotamente usando a tecnologia RFC. Um módulo de função é um grupo lógico de funções específicas de um domínio que pertencem juntas. Por exemplo, podemos ter um módulo de função de Recursos Humanos (RH) que contenha todas as operações de RH disponíveis.
RFCs/BAPI vs. IDOCs
BAPIs, RFCs e IDOCs são frequentemente confundidos. Uma pergunta que surge regularmente é quando usar o quê?
- BAPI é um objeto de negócio.
- Um RFC é um código funcional.
- Os IDOCs ou documentos intermediários são estruturas de dados padrão para a troca eletrônica de dados (EDI) entre programas de aplicação.
Os IDOCs são utilizados para transações assíncronas : cada IDOC gerado existe como um arquivo de texto independente que pode então ser transmitido para a estação de trabalho solicitante sem se conectar ao banco de dados central.
Os tipos de IDOC definem diferentes categorias de dados, como pedidos de compra ou faturas, que podem então ser divididos em categorias mais específicas chamadas tipos de mensagem. Uma maior especificidade significa que um tipo de IDOC é capaz de armazenar apenas os dados necessários para uma transação específica, aumentando a eficiência e diminuindo as demandas de recursos.
Os cenários síncronos são mais adequados para aproveitar RFCs/BAPIs devido aos seus mecanismos de solicitação/resposta imediatos.
Por favor, aceite gentilmente a resposta e compartilhe com a comunidade.
Tudo de bom,
Luis