SAP Integration
Systems, Applications, and Products (SAP) for data processing is an industry leading enterprise software solution that is widely used in product and process oriented enterprises for finance, operations, HR and many other aspects of a business. SAP ERP solutions provide reliable and efficient platforms to build and integrate enterprise or business-wide data and information systems with ease.
The ESB profile of WSO2 Enterprise Integrator (WSO2 EI) leverages the best of both worlds by providing the integration layer so that an existing SAP R/3 based solutions of an enterprise can be integrated with other data/business oriented systems so that you can mix-and-match requirements with minimal effort. As a result, enterprises can keep parts of their systems independent of SAP and extensible for many other systems, solutions and middleware.
The WSO2 SAP adapter is shipped with the ESB profile and is implemented as a transport for the ESB profile. This is provided in the <EI_HOME>/wso2/components/plugins directory as org.wso2.carbon.transports.sap-VERSION.jar (e.g. org.wso2.carbon.transports.sap_1.0.0.jar).
The WSO2 SAP adapter has full IDoc and experimental BAPI support. It uses the SAP JCO library as the underlying framework to communicate with SAP. This section describes how to set up the ESB profile in a SAP environment, how to install the SAP JCo middleware library, SAP Intermediate Document (IDoc) and Business Application Programming Interface (BAPI) adapters.
Installing the SAP Adapter
Follow the instructions below to install and set up the SAP adapter.
Download WSO2 EI and install the ESB Profile by following the instruction in the Installation Guide.
Download the
sapidoc3.jarandsapjco3.jarmiddleware libraries from the SAP support portal and copy those libraries to the<EI_HOME>/libdirectory.Download the native SAP JCo library and copy it to the system path. You need to select the system path applicable to your operating system as described below.
Create a directory named
confin the<EI_HOME>/conf/directory.Create a directory named
sapwithin theconfdirectory that you created and provide access rights to read the properties files you will save in it later.Copy the following SAP endpoint properties files to the
<EI_HOME>/conf/sap/directory. You need to have two properties files, one at the server-end and the other at the client-end to communicate with an external SAP endpoint using IDoc or BAPI.*.dest: This is where we store SAP endpoint parameters when the ESB Profile of WSO2 EI is configured as a client to an external SAP endpoint.*.server: This is where we store SAP endpoint parameters when the ESB Profile of WSO2 EI is configured as a server to an external SAP endpoint.
For details on creating the properties files and defining the relevant properties, see Setting up the Client Configuration File and Setting up the Server Configuration File.
Start the ESB profile of WSO2 EI using the
-Djava.library.pathswitch to specify the location of your SAP jco library.
For example, you can execute the following command to start the ESB Profile:./integrator.sh -Djava.library.path=/usr/lib/jvm/jre1.7.0/lib/i386/server/
Setting up the Client Configuration File
To setup the ESB profile as a client to a SAP system you need to create the *.dest properties file and define the relevant properties. The following table lists the properties and the description of each property that should be specified in the *.dest properties file.
Property | Description |
|---|---|
| Client logon |
| User logon |
| Alias user name |
| Logon password |
| Logon language |
| R/3 system number |
| R/3 application server |
| R/3 message server |
| Gateway host |
| Gateway service |
| R/3 name |
| Group of application servers |
| Program ID of external server program |
| Host of external server program |
| Type of remote host (3=R/3, E=External) |
| Initial code page for logon |
| Use remote SAP graphical user interface |
| Use the specified SAP cookie version 2 as the logon ticket |
| Additional data for GUI |
| Host to which the remote GUI is redirected |
| Service to which the remote GUI is redirected |
| Progid of the server that starts the remote GUI |
| SNC partner name (for example, CN=B20, O=SAP-AG, C=DE\) snc_mode |
| SNC mode (0 or 1) |
| SNC level of security (1-9) |
| SNC name; overrides default SNC partner |
| Path to the library |
| R/2 destination |
| SAPLOGON string on 32-bit Windows |
| Data for external application (PAS) |
| Type of external authentication (PAS) |
| Use the specified X509-certificate as the logon ticket |
| R/3 port number of message server |
| Profile name used for shared memory communication |
| Idle timeout for the connection |
| RFC library character conversion errors (1 or 0) |
| Enable or disable logon check at open time (1 or 0) |
| Enable or disable RFC trace (1 or 0) |
| Enable ABAP debugging (1 or 0) |
| Get or do not get a SSO ticket after logon (1 or 0) |
| Enable or disable uppercase character conversions for logon |