Welcome to EMC Consulting Blogs Sign in | Join | Help

Tamer Shaaban's Blog

Microsoft SAP Adaptor for BizTalk 2004

This was a popular topic for discussion at the BizTalkEAI session at the community day. Lots of people had lots of good questions. So I’ll recap here. Microsoft Biztalk 2004 SAP adaptor is actually two components, a run time module called BizTalk 2004/SAP adaptor, which is the actual adaptor that communicates with SAP. The second module is a design time components that integrates with your Visual Studio within the “Add Adaptor Wizard” (SAP .Net Connector). This is what you use to connect to SAP through a port defined on your machine, search lists of SAP functions (BAPIs and IDOCS), and select the function you want to call. At the end of the wizard steps, you will end with the schama (xsd) you need to contact SAP. If the port you chose was two way (Request/Response) then you will end up with a two root schema for the request and the response types.


From an architectural point of view, use IDOCS if you want to asynchronously send or receive message to and from SAP, and use BAPI if you want to synchronously send a request and receive a reply (RPC call). SAP can not call BT using BAPI (Otherwise it will be too easy!!!). From a port setup point of view the choice is between a one way and a two way port, you select SAP as the “Transport Type” for both.


To setup a receive port is very simple. You need to find out the Client ID, Program ID, the SAP gateway machine name, user name and password (Simple!!). One very important thing to note, especially if you have multiple environments (e.g Dev, test, UAT, etc), make sure you have unique Program ID s per environment. Otherwise your message will end up on the wrong environment!



Few issues that I came across and you need to be aware of: I only managed to connect to SAP R/3 with the Wizard/Adaptor. I tried with SAP DP(APO) and it did not work, the same will apply for SAP DW.  The first time you use the adaptor to make a BAPI call you will have a dll created in the {Program Files}\Microsoft BizTalk Adapter v2.0 for mySAP Business Suite\Bin folder with the name of the BAPI function you are calling. These dlls will only be created on a machine that has VS installed on them, the design time component will not create them for you. This makes deployment interesting. Also, every time the SAP guys change the BAPI signature, i.e. add, remove, rename a field, you have to manually delete the BAPI dll created on the development machine because the old dll will be in use and VS will not have permission to delete it. There are also few issues around sending and receiving large numbers of IDOCS, as well as sending and receiving them in order. We obtained few hot fixes from Microsoft to fix that but we are too close to our “Go Live” date, so we will continue with our reliably tested work-around till go live then re-evaluate with SP1.

Published Monday, January 24, 2005 5:08 PM by Tamer.Shaaban



TrackBack said:

January 25, 2005 9:21 PM

Tamer.Shaaban said:

Tamer, It is your new blog :D
BTW, While I was browsing to find a good blogs, I find "Conchange" blogs :D
Indeed, it is good company to help here employees to publish their thoughts,
January 29, 2005 9:35 PM

TrackBack said:

March 4, 2005 2:55 PM

Tamer is finally blogging! said:

October 4, 2005 1:11 PM

Biztalk SAP Receive Port config (Routing Strings) | keyongtech said:

January 22, 2009 9:32 AM
Anonymous comments are disabled
Powered by Community Server (Personal Edition), by Telligent Systems