1. 32-bit vs. 64-bit
If our BizTalk environment is 32-bit, then we do not
need to perform any additional actions. If our BizTalk environment is
64-bit, then we need to install both the 32-bit and 64-bit versions of
the Adapter. The reason for this is that a lot of the BizTalk tooling
remains as 32-bit applications, including Visual Studio and the BizTalk
Administration console. So, even though our runtime may be 64-bit, we
need the 32-bit version in order to generate schemas and to configure
any Receive Locations or Send Ports that will be using the SAP Adapter.
2. SAP Prerequisite DLLs
Installing the BizTalk Adapter pack is not enough.
You need to obtain two packages from the SAP Marketplace. The SAP
Marketplace is the equivalent of Microsoft's MSDN and TechNet offerings.
It is a place where registered customers and partners can obtain SAP
software downloads and technical documentation. SAP Marketplace requires
a login and any organization who is paying for SAP support will have
one. Most likely our BASIS Administrator will have a login so we may
need to ask them to download the packages for us. Also, note that each
package is specific to a version of SAP whether it is a Unicode or
non-Unicode installation. It is advisable to have a conversation with
the BASIS Administrator before any packages are downloaded.
The first package that we need to obtain contains the
SAP RFC SDK DLLs. These RFC DLLs get used during design time generation
of SAP schemas and during the runtime operations when BizTalk is
sending and receiving messages with SAP. Microsoft using these DLLs is a
good thing and strengthens our case for having Microsoft handle the
integration with an SAP system since we are using SAP code when
establishing connections.
The second package is called R3DLLINST.zip
and contains the Microsoft runtime DLLs. Even though these are Microsoft
DLLs, they are still available through the SAP Marketplace.
Within the BizTalk Adapter Pack installation folder, an install guide called InstallationGuide.htm exists in the C:\Program Files\Microsoft BizTalk Adapter Pack(x64)\Documents folder for 64-bit systems. Similarly, a document will exist on a 32-bit system in the C:\Program Files\Microsoft BizTalk Adapter Pack\Documents
folder. A table exists that describes the prerequisite DLLs that are
required for specific versions of SAP. Microsoft has included a link
within each section that will take us directly to the location within
the SAP Marketplace to download the package and get more specific
information.
When we navigate to the SAP note for the installing
the SAP RFC SDK, we are prompted to download the assemblies from another
URL: http://service.sap.com/swdc.
Once we navigate down the website's hierarchy of Support
Packages and Patches - Entry by Application Group - Additional
Components - SAP RFC SDK UNICODE - SAP RFC SDK 7.00 UNICODE we
end up with the download section that we are interested in. If we are
running a 64-bit environment, then we need both 32-bit and 64-bit
packages due to the differences between the 32-bit BizTalk design/admin
tools and the 64-bit BizTalk runtime.
These software packages that exist in the SAP
Marketplace have been packaged in a SAP specific package tool called
SAPCAR. In order to open these packages, we need to download the SAPCAR
tool.
We can download SAPCAR from the same location as where we found the RFC SDK.
Once again we will need to choose the platform that we will be using when extracting the SAR package.
Once we have SAPCAR downloaded, we need to open a
command line prompt and change our directory to the location where we
saved the SAPCAR.exe. If we execute a command similar to the one below, we will be able to extract the SAR archive.
F:\Dev\SAP>SAPCAR_0-10003696.exe -xfv "RFC_25-20001765.SAR"
SAPCAR: processing archive RFC_25-20001765.SAR (version 2.01)
SAPCAR: 61 file(s) extracted
The result of this command being executed is that a folder called rfcsdk is created that will contain several sub folders including a bin and lib folders.
If we are running a 64-bit BizTalk
environment, then we need to copy the SAP DLLs from the 32-bit SAR
package and 64 bit SAR package to multiple locations.
If
you are installing both 32 bit and 64 bit Adapters and DLLs, you need
to pay close attention to Microsoft's install instructions. The
installation instructions that are provided as part of the adapter
install specify the following:
"On a 64-bit computer, the 32-bit version of the DLLs must be added to the C:\Windows\SysWow64 folder. The 64-bit version of the DLLs must be added to the C:\Windows\System32
folder." These instructions defy common logic so be sure not to
overlook this step. You can also read about this step in the SAP
Adapter's Frequently Asked Questions page: http://msdn.microsoft.com/en-us/library/cc185322(BTS.10).aspx
We now need to copy the following libraries from the 64-bit lib directory into the %WINDOWS%\System32 directory.
The end result is that the following nine files should all end up in the %WINDOWS%\System32 directory as illustrated in the following screenshot:
Similarly, the following 32-bit DLLs need to be copied into the %WINDOWS%\SysWOW64 directory. The 32-bit DLLs should come from the 32 bit SAR archive that we previously downloaded.
The next set of prerequisite DLLs that we need to
deal with are the Microsoft runtime DLLs. Once again, these DLLs can be
retrieved from the SAP Marketplace via the URL that is specified in the
BizTalk Adapter Pack Installation Guide. Navigating to http://go.microsoft.com/fwlink/?LinkID=94693 will render the following page. After reviewing the content that SAP has provided, we want to click on the Attachments link.
The file that we are interested in is r3dllinst.zip. Click on the link to download this package.
Once we have the r3dllinst.zip downloaded, we need to extract this package and will end up with the following files in the ntpatch folder:
We now want to execute R3DLLINS.EXE and should get prompted with the following message. Click OK to proceed with the installation of these DLLs.
This concludes the prerequisite DLLs that are
required in order for the SAP adapter to function properly. We will
validate the SAP Adapter functions properly in an upcoming section when
we generate IDOC schemas. If we are able to generate Schemas via Visual
Studio, then we know our 32-bit installation is complete. We will not
know about our 64-bit assemblies until we try to process a message.