Receive Inbound tRFC Calls from SAP using BizTalk Server
A tRFC server call is a transactional RFC server call. The orchestration required to receive an RFC in a transactional context is similar to the orchestration to receive any other inbound RFC sent from an SAP system. However, you need to perform certain additional tasks to make sure the RFCs are received in a transactional context. For more information about receiving an inbound RFC from the SAP system using the SAP adapter, see Receive Inbound RFC Calls from SAP by using BizTalk Server. For more information about how the SAP adapter supports receiving inbound tRFC calls from an SAP system, see Operations on tRFCs in SAP.
Receiving an inbound tRFC sent from an SAP system is similar to receiving an inbound RFC, with the following differences:
At design time, while generating the schema, make sure you select the tRFC from under the TRFC node.
At run time, make sure you set the binding property TidDatabaseConnectionString.
This property takes the connection string that connects to a SQL database to store the TID. A sample connection string looks like the following example:
Data Source=<myServerAddress>;Initial Catalog=<myDataBase>;User Id=<myUsername>;Password=<myPassword>;
Caution
This example or guidance references sensitive information, such as a connection string or a username and password. Never hardcode these values in your code, and make sure that you protect confidential data by using the most secure authentication available. For more information, see the following documentation:
For more information about the binding property and how to set it, see Read about BizTalk Adapter for mySAP Business Suite Binding Properties.
Important
The BizTalk Adapter Pack setup wizard installs a SQL script, SapAdapter-DbScript-Install.sql, which must be run by the SQL Server administrator to create a database and the database objects in SQL Server. The script is typically installed at <installation drive>:Program FilesMicrosoft BizTalk Adapter Pack.
The SAP adapter uses these objects to persist the TIDs. So, the SQL Server administrator must ensure that the user name provide as part of the connection string has sufficient privileges to execute the stored procedures. You can also opt for Windows authentication provided the Windows user has sufficient permissions to execute stored procedures in the database.
Make sure MSDTC is enabled on the computer where the adapter is installed. Perform the following steps to enable MSDTC.
Start the Component Services MMC snap-in.
In the Component Services MMC snap-in, from the left pane expand Component Services, expand Computers, right-click My Computer, and click Properties.
In the My Computer Properties dialog box, click the MSDTC tab.
In the Transaction Configuration section, click the Security Configuration button.
In the Security Configuration dialog box, select the Network DTC Access check box and within that, select the Allow Remote Clients check box.
In the Transaction Manager Communication section, select the Allow Inbound and Allow Outbound check boxes.
In the Security Configuration dialog box, click OK.
Click Yes in the dialog box informing that the MSDTC service will be restarted. After the MSDTC service is restarted, click OK on the dialog box.
In the My Computer Properties dialog box, click OK.
Add MSDTC to the Windows Firewall exception list, if not already added. Run the following command.
netsh firewall set allowedprogram %windir%\system32\msdtc.exe MSDTC enable
Important
An inbound tRFC call is used while receiving IDOCs from the SAP system in a "transactional" context.