IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.


#TechXchangePresenter
 View Only
Expand all | Collapse all

SAP, why doesn't async RFC return control immediate

  • 1.  SAP, why doesn't async RFC return control immediate

    Posted Thu February 10, 2005 08:41 PM

    I am trying to make an asynchronous RFC call to a SAP Function Module.

    For testing purposes I am comparing the behaviour of a synchronous call versus an asynchronous call to the same FM. The FM receives an input parameter, waits 3 seconds, and returns an output parameter.

    The synchronous call looks like this:
    invoke pub.sap.transport.RFC:OutboundProcess

    The asynchronous call looks like this:
    invoke pub.sap.client:createTID
    invoke pub.sap.client:invokeTransaction
    invoke pub.sap.client:confirmTID

    The synchronous call works as expected, returning control to IS after 3 seconds, delivering the expected result.

    The asynchronous call should return control to IS immediately and return no result. However, in actuality, control is not returned until 3 seconds have expired. No result is returned, which is the expected behavior.

    My question is: Why doesn’t SAP return control to IS immediately for the asynchronous call?


    #Adapters-and-E-Standards
    #Integration-Server-and-ESB
    #webMethods


  • 2.  RE: SAP, why doesn't async RFC return control immediate

    Posted Tue July 04, 2006 09:02 AM

    Hi!

    We have the same problem here.
    A webservice receives a XML-document and places it on the trading network.
    My model picks up the recognized doctype and everythings works fine.
    Only the included SAP-call takes some time in a few cases.

    actually the webservice is NOT asynchron!
    the service waits until the SAP-call is terminated!?!?

    Anyone knows why?


    #Integration-Server-and-ESB
    #Adapters-and-E-Standards
    #webMethods


  • 3.  RE: SAP, why doesn't async RFC return control immediate

    Posted Wed July 05, 2006 01:00 PM

    Being transactional does not mean that a call is asynchronous.

    RFC calls into SAP are synchronous.
    For example, If you make a TRFC call into SAP, and there is a division by zero in the ABAP code, you will get the exception within the IS.
    The ‘T’ stands for transactional, not for asynchronous.

    If you want to make pure 100 % asynchronous calls into SAP, you should use the webm Broker.
    In Peter’s example above, he can post a message to the Broker as the last step of his web service. The web service will return and an IS trigger can be configured to receive the message and send it to SAP.

    In other words for a pure 100% store-and-forward asynchronous messages to SAP you can use the webm Broker.

    The webm Broker and IT triggers can be used as your “store-and-forward” mechanism.

    This is pretty much what outbound R/3 does with TRFC calls: it tries the first time, and if the call fails, it stores it and forwards it, by rexecuting it a set amout of time.

    vasilis


    #webMethods
    #Adapters-and-E-Standards
    #Integration-Server-and-ESB