none
Using qRFC with BizTalk Adapter 3.0 for mySAP Business Suite RRS feed

  • Question

  • Hi All,

    We are going to integrate BizTalk Server 2006 R2 and SAP EWM system.

    Here we have 4 differnet requirements for our project:

    1. Calling tRFC on the SAP server from BTS

    2. Getting tRFC inbound messages from SAP to BTS

    3. Calling qRFC on the SAP server from BTS

    4. Getting qRFC calls from SAP.

    We have adapter pack installed on our BizTalk server 2006 r2 (64 bit) environment with windows server 2003 r2.

    My concern is how to implement qRFC with this adapter pack. I tried to find solution but there seems to be no option for qRFC.

    Documentation for this adapter pack also says this as deperecated feature of SAP adapter:

    Support for queued transactional RFC (qRFC) client calls

    Commets :

    The SAP adapter does not support making queued RFC calls on an SAP system to ensure that multiple transactions (tRFC calls) are serialized.

    Please let me know how qRFC be implemented.

    Thanks in advance !!!

    Best Regards,

    Rohit

    Thursday, September 16, 2010 6:48 AM

Answers

  • Right, so I am guessing the only way is through a .NET call to a supporting client library for SAP that will support the qRFC call. This link mentioned this: http://www.codeproject.com/KB/aspnet/Connecting_DotNet_and_SAP.aspx.

    This link shows a little more information: http://www.erpgenie.com/sap/interfaces/netconnector.htm.

    You could build a custom adapter or just call a .NET method from an orchestration or pipeline component.

    Thanks,


    If this answers your question, please use the "Answer" button to say so | Ben Cline
    Thursday, September 16, 2010 11:10 PM
    Moderator
  •  

    Hi ,

    You can reffer -

    http://help.sap.com/saphelp_nw70/helpdata/EN/b0/eae2a889e711d2956500a0c94260a5/content.htm.

    Receiving QRFc from SAP system-

    Scenario 2: qRFC with outbound queue

    In this scenario, the sender system uses an outbound queue, to serialize the data that is being sent. This means that function modules which depend on each other (such as update and then change) are put into the outbound queue of the sender system, and are guaranteed to be sent to the target system one after each other and one time only. The called system (server) has no knowledge of the outbound queue in the sender system (client), meaning that in this scenario, every SAP system can also communicate with a non-SAP system. (Note: the programming code of the server system must not be changed. However, it must be tRFC-capable.) 

    The WCF-SAP  adapter is TRFc-capable and can receive QRFCs. The SAP systems populates the outbound queue and sends tRFCs from the queue  one after another . No special handeling is required on the WCF-SAP adapter side for  receiving qRFCS.

    Sending QRFc to SAP system -

    qRFC with inbound queue: in addition to the outbound queue in the client system, an inbound queue makes sure that only as many function modules are processed in the target system (server) as the current resources allow. Client and server system must be SAP systems. One work process is used for each inbound queue.

    This clearly states that the client system needs to be a SAP system[BizTalk is obviously a non-SAP system].

    However, in the previous version of the adapter, you could  add the queue name as a promoted property to a outbound tRFC message and  the adapter  would add the  tRFC message to the  corresponding outbound queue. 

    The the problem is that BizTalk pub-sub mechanism itself doen't guarentee ordered processing. So, two messages A and B sent from an orchestration can possibly end up in the wrong order in the outbound queue.

    In order to ensure that the messages are actually delived in order, you should have a strict request-response patterin in your orchestration. [i.e send the seconsd tRFC only en you receive the response for the first tRFC].

    "Build a custom adapter or  calling a .NET method from an orchestration or pipeline component." won't help as  the same problem of
    re-ordering of  the messages would still exist.

    Outbound qRFCS  was depricated as the functionality is not guarenteed to work.

    Pls get back, if I haven't undestood your scenario correctly or if you need any other clarification.

     

     

     

     

     

     

     
    Friday, September 17, 2010 10:38 AM

All replies

  • Hi, 

    We har going to integrate BizTalk 2006R2 and SAP.

    There are 3 different scanarios in our project:

    1. Calling tRFC on the SAP server from BTS

    2. Calling qRFC on the SAP server from BTS

    3. Getting qRFC calls from SAP. In this scenario, BizTalk acts as a SAP-server

    We have installed BizTalk 2006 R2 and all adapters on an 64 bits platfrom running Windows Server 2003 R2

    - I have installed WCF LOB Adapter SDK SP2 x64

    - BizTalk Adapter Pack 2.0

    My questions are:

    I saw yesterday in the documentation for  "BizTalk Adapter Pack 2.0, BizTalk Adapter 3.0 for mySAP Business Suite, http://msdn.microsoft.com/en-us/library/cc185531(BTS.10).aspx" that the "qRFC" is deprecated in this version of SAP-adapter version:

    - How can qRFC be implemented using tRFC?

    - is qRFC available in the SAP Adapter that came with BizTalk Adapter Pack 1.0?

    - Is there any sample code for calling qRFC on BizTalk from SAP (BizTalk acts as SAP-server) 

     

    Kind Regards

     

    //Afma

     

    Wednesday, September 15, 2010 8:12 AM
  • Right, so I am guessing the only way is through a .NET call to a supporting client library for SAP that will support the qRFC call. This link mentioned this: http://www.codeproject.com/KB/aspnet/Connecting_DotNet_and_SAP.aspx.

    This link shows a little more information: http://www.erpgenie.com/sap/interfaces/netconnector.htm.

    You could build a custom adapter or just call a .NET method from an orchestration or pipeline component.

    Thanks,


    If this answers your question, please use the "Answer" button to say so | Ben Cline
    Thursday, September 16, 2010 11:10 PM
    Moderator
  •  

    Hi ,

    You can reffer -

    http://help.sap.com/saphelp_nw70/helpdata/EN/b0/eae2a889e711d2956500a0c94260a5/content.htm.

    Receiving QRFc from SAP system-

    Scenario 2: qRFC with outbound queue

    In this scenario, the sender system uses an outbound queue, to serialize the data that is being sent. This means that function modules which depend on each other (such as update and then change) are put into the outbound queue of the sender system, and are guaranteed to be sent to the target system one after each other and one time only. The called system (server) has no knowledge of the outbound queue in the sender system (client), meaning that in this scenario, every SAP system can also communicate with a non-SAP system. (Note: the programming code of the server system must not be changed. However, it must be tRFC-capable.) 

    The WCF-SAP  adapter is TRFc-capable and can receive QRFCs. The SAP systems populates the outbound queue and sends tRFCs from the queue  one after another . No special handeling is required on the WCF-SAP adapter side for  receiving qRFCS.

    Sending QRFc to SAP system -

    qRFC with inbound queue: in addition to the outbound queue in the client system, an inbound queue makes sure that only as many function modules are processed in the target system (server) as the current resources allow. Client and server system must be SAP systems. One work process is used for each inbound queue.

    This clearly states that the client system needs to be a SAP system[BizTalk is obviously a non-SAP system].

    However, in the previous version of the adapter, you could  add the queue name as a promoted property to a outbound tRFC message and  the adapter  would add the  tRFC message to the  corresponding outbound queue. 

    The the problem is that BizTalk pub-sub mechanism itself doen't guarentee ordered processing. So, two messages A and B sent from an orchestration can possibly end up in the wrong order in the outbound queue.

    In order to ensure that the messages are actually delived in order, you should have a strict request-response patterin in your orchestration. [i.e send the seconsd tRFC only en you receive the response for the first tRFC].

    "Build a custom adapter or  calling a .NET method from an orchestration or pipeline component." won't help as  the same problem of
    re-ordering of  the messages would still exist.

    Outbound qRFCS  was depricated as the functionality is not guarenteed to work.

    Pls get back, if I haven't undestood your scenario correctly or if you need any other clarification.

     

     

     

     

     

     

     
    Friday, September 17, 2010 10:38 AM
  • Hi All,

    We have stringent requirement of implementing Qrfc model in our project integrating with SAPEWM

     Calling qRFC on the SAP server from BTS.

     Getting qRFC calls from SAP.

    But still we are not able to find solution about implementing Qrfc solution with BizTalk Adapter 3.0 for mySap business suite adapter.

    Client has now suggested us to use old version of SAP.NET connector with Microsoft BizTalk Adapter v2.0 for mySAP Business Suite.

    As we know that:

    This Adapter includes support for normal synchronous RFC, transactional RFC (tRFC), and queued RFC (qRFC)

     

    So before going ahead with design and implementation, I wanted to know about the compatibilities, challenges faced and pros\cons of this adapter.

     

    I did some exploration and found some of the bugs, errors with respect to its design time properties and some other issues for SAP.NET connector. We are using BizTalk Server 2006 R2 64 bit. So will there be any complatibilities issues using this.

     

    Please let me know if you have any information on this.

     

    Thanks in advance !!

     

    Kind Regards,

    Rohit


    Best Regards, Rohit
    Monday, October 11, 2010 10:30 AM