quinta-feira, 23 de agosto de 2012

RFC - Remote Function Call - Conceito - Configuração - Testes - Monitoramento

Remote Function Call ( RFCs)

Chamadas de funções remotas permite que um programa execute outro programa remotamente, ou seja, a partir de um local diferente.

Conceitos
 
RFCs são usados ​​para os seguintes fins:


Comunicação entre os diferentes sistemas, tais como entre dois sistemas SAP ou entre um sistema SAP e um sistema externo.

Dentro de um sistema SAP:A comunicação entre instâncias de aplicativo ou entre o nível de aplicação e o nível de apresentação (SAP GUI).Paralelização de processos: RFCs são usados ​​para paralelizar processos e distribuir dinamicamente a carga de trabalho sobre os diferentes servidores dentro do sistema SAP.
No Sistemas SAP (por exemplo, SAP ERP, SAP APO e SAP BW Netwear) sao interligados via RFC e transferem informações entre eles.
Sistemas SAP pode ser ligado com o sistemas externos, por exemplo, um sistema SAP ERP  envia para um sistema externo de gerenciamento de armazém, onde o sistema SAP ERP cria as ordens de transferências para o movimento e os envia para um programa externo através RFC,quando sistema legado de gestão de transferência é realizada no  armazém, ele executa uma transação usando RFC para informar o sistema SAP ERP da transferência de mercadorias.
Outro exemplo: Quando efetuamos uma venda no site desenvolvido em .net ele sensibiliza o estoque através de uma rfc dentro do SAP. (RFCSDK).
RFC's podem trabalhar de duas formas:

1)  Hard Coupling: O sistema depende  que  comunicação com o sistema parceiro esteja ativo e disponível.Caso ocorra algum problema na rede por exemplo, as funções que utilizam este acoplamento será finalizada com erro.(Synchronous RFC or transactional RFC)
2) Soft Coupling:não exige esta disponibilidade recíproca dos sistemas.em vez disso, os dados de sistemas de troca acontecem periodicamente, se um dos nós ficarem temporariamente estáveis, o outro sistema pode continuar trabalhar sem nenhum problema , exemplo de soft coupling é o ALE(application link enabling)

Existem 4 tipo de RFCs :
       Synchronos      (Sincrona)
       Asynchronous  (Assincrona)
       Transactional    (Transacional)
       Queued             (Lotes)

RFC síncrona é caracterizada pela espera do sistema de envio até o retorno da resposta da RFC.

RFC assíncrona , o sistema de envio nao espera a resposta da RFC e pode continuar seu processo sem ele ao menos esta completo


RFC transactional é uma assincrona RFC rodando com algumas condições de segurança especifica, trataremos dela mais tarde.

RFC queue (qRFC) , é uma RFC transactional que precisa trabalhar com uma sequencia de informação do lado do recebedor e do sistema que envia.


Você informa qual o modelo que você quer trabalhar com a RFC através da chamada ABAP como segue



 
 

 




    



 



Um comentário:

Unknown disse...

Opa, tudo certo?

Parabéns pela explicação me clareou muitas coisas.

Uma pergunta: teria como chamar a FM SO_NEW_DOCUMENT_SEND_API1 por um sistema externo ;NET, ou seria preciso criar uma RFC que chame esta função em ABAP no SAP?

Best regards,
Wolbert Lima