Share via


BizTalk Server: WCF-Based SAP Adapter and Troubleshooting

Overview and Architecture

1. There are three versions of the BizTalk Adapter for mySAP Business Suite (SAP adapter) available:

  • BizTalk Adapter Pack 1.0 (known as BizTalk Adapter 3.0 for mySAP Business Suite in the first version of the Adapter Pack)
  • BizTalk Adapter Pack 2.0
  • BizTalk Adapter Pack 2010

All three are based on Windows Communication Foundation (WCF). BizTalk Adapter Pack 1.0 works with BizTalk Server 2006 R2. BizTalk Adapter Pack 2.0 works with BizTalk Server 2006 R2 and BizTalk Server 2009. BizTalk Adapter Pack 2010 works with BizTalk Server 2010.  The versions in BizTalk Adapter Pack 2.0 and BizTalk Adapter Pack 2010 have the same functionalities and have some new and deprecated features over the version in BizTalk Adapter Pack 1.0. For more information, see New and Deprecated Features in the SAP Adapter.

2. The SAP adapter implements a Windows Communication Foundation (WCF) custom binding, which contains a single custom transport binding element that enables communication with an SAP system. The SAP adapter is wrapped by the Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK run time, and is exposed to applications through the WCF channel architecture. BizTalk Server or other .NET clients can consume the SAP adapter through WCF programming models. The SAP adapter communicates with the SAP system through the SAP Unicode RFC SDK (librfc32u.dll). See Architecture for BizTalk Adapter for mySAP Business Suite.

3. The SAP adapter can provide integration with the Office System like SharePoint. A WCF service can be created with the SAP adapter WCF binding, and can be hosted in an environment such as Microsoft Internet Information Services (IIS). The SharePoint Business Data Catalog can consume this WCF service, and surfaces business data from the backend SAP system. See Using the SAP Adapter with Microsoft Office SharePoint Server.

4. The SAP adapter also provides the .NET Framework Data Provider for mySAP Business Suite. The Data Provider enables integration of your applications with SQL Server Integration Services (SSIS) and SQL Server Reporting Services. You can perform SELECT, EXEC, and EXECQUERY operations on the SAP system through the Data Provider. See About the .NET Framework Data Provider for mySAP Business Suite.

5. With the release of BizTalk Server 2009, the old non-WCF SAP adapter is deprecated in favor of the WCF-based SAP adapter. The BizTalk Adapter Pack Migration tool can help you migrate projects using the older adapter to use WCF-based projects. After running the tool you should be able to deploy and run the new project as-is in most simple projects, or fix some aspects as per the limitations outlined in the documentation. The BizTalk Adapter Pack Migration Tool is availalble at http://www.microsoft.com/download/details.aspx?id=7840.

Troubleshooting

1. Enable SAP RFC and Common Programming Interface for Communications (CPIC) tracing by performing either the following automatic or manual steps:

Automatic Steps

You can do this using the script provided in the Enabling and Disabling SAP RFC and CPIC Trace section in How to Troubleshoot the Adapter. Restart the computer that is running BizTalk Server.

Manual Steps

a) Right-click My Computer, and then click Properties.
b) On the Advanced tab, click Environment Variables.
c) Under System variables, create the following environment variables:

Variable name: CPIC_Trace
Variable value: 3
Variable name: CPIC_TRACE_DIR
Variable value: C:\Trace_CPIC
Variable name: RFC_Trace_DIR
Variable value: C:\Trace_RFC
Variable name: RFC_TRACE
Variable value: 1

d) Restart the computer that is running BizTalk Server.

The trace files are created in these folders for each new connection to SAP.

2. When using the SAP adapter, while receiving an IDoc, many users get the following error in the event logs:

Loading property information list by namespace failed or property not found in the list

Cause: The SAP adapter is writing the IDoc control record fields to the BizTalk message context. However, there is no schema deployed for these context properties.
**
Resolution**: Add the "Microsoft.Adapters.SAP.BizTalkPropertySchema" DLL to the Resources section of your BizTalk application.

3. Many users want strong typing. However due to some incompatibility between SAP types and .NET types, strong typing may not be possible, and may cause an exception. DataTypesBehavior enables strong typing while avoiding exceptions. This feature is built into the SAP adapter of BizTalk Adapter Pack 2.0 and BizTalk Adapter 2010. If you are running BizTalk Adapter Pack 1.0, install this fix: http://support.microsoft.com/kb/954539. For more information, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

  1. The WCF-based SAP adapter needs stronger permission than the old non-WCF SAP adapter during run time. Besides the design time, the run time also needs the privilege to retrieve the metadata from the SAP system. See http://blogs.msdn.com/adapters/archive/2007/12/14/receiving-idocs-from-sap-using-the-sapbinding-requires-higher-sap-user-privilege-as-compared-to-the-older-mysap-adapter-really.aspx.

  2. Both versions of BizTalk Adapter for mySAP Business Suite have some limitations:

  1. When using the BizTalk Adapter Pack Migration Tool, you may get the following error:

Event Type: Error
Event Source: .NET Runtime 2.0 Error Reporting
Event ID: 5000
Description:
EventType clr20r3, P1 biztalkadapterpackmigrationtool, P2 1.0.0.0, P3 4a26b834, P4 biztalkadapterpackmigrationtool, P5 1.0.0.0, P6 4a26b834, P7 1ba, P8 ef3, P9 system.nullreferenceexception, P10 NIL.

This can happen if a DLL file is referenced instead of local to the project. After the migration is complete, re-add the referenced DLL file. The BizTalk Adapter Pack Migration Tool is availalble at http://www.microsoft.com/download/details.aspx?id=7840.

  1. Each version of the SAP adapter has its own supported SAP versions. Please check the installation guides for details.

See Also

Another important place to find a huge amount of BizTalk related articles is the TechNet Wiki itself. The best entry point is BizTalk Server Resources on the TechNet Wiki.