Invoking BAPI/RFCs Using Transactional Semantics in the SAP System

BAPI/RFCs can be invoked using transactional semantics in the SAP system.

In case of exceptions (network outages or system failures) in SAP while the call is being executed, the transactional semantics in SAP ensures data consistency and exactly-once execution.

Transactional RFCs (tRFCs) are always executed as one-way invocations and are best suited for transferring transactional data into SAP in real-time. To execute a BAPI/RFC in transactional mode, the BAPI/RFC transaction has to be downloaded and saved to the adapter configuration as a one-way operation.

Any one-way Request-Response Service service can be executed as a tRFC in SAP. To execute a one-way BAPI/RFC as a tRFC, each invocation of the BAPI/RFC have to be accompanied by userClosure information, as defined in the RFCCLOSURE class under /tibco/public/classes/ae/SAPAdapter40/RFCCLOSURE.

Procedure

  1. Click the activity which you want to specify with this feature, and then click the Input tab in the Properties view.
  2. Expand the _caret_userclosure_caret_ element and set the bTransactional property to 1.
    Note: When a BAPI/RFC is invoked as a tRFC, the TID is automatically generated by the adapter using the SAP system required.

    The TID must be unique in the tRFC and qRFC invocations.

    It is good practice to use the Certified Messages protocol for one-way BAPI/RFC invocations to handle any exceptions, like network outages, during the execution of the call in SAP.