2. www.sanjeetpandey.com
Overview
- As one of the most widely used enterprise resource planning solutions on the market, SAP
plays a central role in the most critical business processes for many companies. In order to
fully automate and optimize these business processes, companies need to integrate SAP with
other applications within their organization. This article discusses SAP integration with other
applications like Salesforce, e-POS, e-Commerce SharePoint etc. including uses and benefits,
challenges, and new approaches.
- An alternative approach to point-to-point quick fixes and expensive SOA stacks is integrate
SAP using an (Enterprise Service Bus).
- Mule’s SAP Enterprise Connector provides bidirectional communication and works with
existing SAP technologies such as:
• Intermediate Documents (IDocs)
• Business Application Programming Interfaces (BAPIs)
• SAP Java Connector (JCo)
2
3. www.sanjeetpandey.com
Mule ESB SAP Connector
- Mule ESB supports SAP integration
through an SAP-certified Java connector.
With the Mule Enterprise Gateway for
SAP, integration between applications
with SAP ECC is faster and easier.
- Mule SAP JCo Connector is a transport
developed to provide bi-directional
connectivity between SAP and other
applications or tools. Using SAP JCo
connector we can easily invoke BAPIs
(Business Application Programming
Interface) and iDocs (Intermediate
Document Interface) in SAP. The SAP JCo
connector is built using SAP Java
Connector libraries provided by SAP.
3
4. www.sanjeetpandey.com
Mule ESB SAP Connector (Cont ...)
The connector leverages the SAP Java Connector (JCo) libraries, which enable Mule applications
to:
• Send and receive iDocs over tRFC and qRFC
• Transform all SAP objects (JCoFunction & IDocs) both to and from XML
• Execute Business Application Programming Interface (BAPI) functions using all of the
following types of Remote Function Calls (RFC) like sRFC (synchronous RFC), tRFC
(transactional RFC) and qRFC (queued RFC)
• Act as a JCo Server to be called as a BAPI over the following protocols like sRFC, tRFC, qRFC
The SAP connector establishes connection to SAP system using JCO libraries (provided by SAP).
The Connector supports the option to configure SAP connection details, connection pooling
and max limit of active connections. If the connector is used for outbound data from SAP,
then ESB registers the current Mule ESB instance as JCO destination/Gateway Server.
4
5. www.sanjeetpandey.com
Integration for SAP BAPI function
A simple BAPI performs a single operation,
such as retrieving a list of Product
master data. The adapter supports
simple BAPI calls by representing each
with a single business object schema.
Simple BAPIs can be used for outbound
or inbound processing. You can specify
synchronous RFC processing or
asynchronous transactional RFC (tRFC)
processing when you configure a
module for a simple BAPI. In addition,
for outbound processing, you can
specify asynchronous queued RFC
(qRFC) processing, in which BAPIs are
delivered to a predefined queue on the
SAP server.
5
6. www.sanjeetpandey.com
Integration for SAP BAPI function (Cont ...)
• In synchronous RFC processing, the SAP server and the adapter must be available
during processing.
• In outbound processing, the message flow sends a request, then waits for a response
from the SAP server.
• In inbound processing, the SAP server sends a request through the adapter to an
endpoint and waits for a response from the adapter.
• In asynchronous tRFC outbound processing, the adapter associates a transaction ID
with the function call to the SAP server. The adapter does not wait for a response from
the SAP server. If the delivery is unsuccessful, the message flow can use the SAP
transaction ID (TID) to make the request again. The TID is a field in your message.
6
7. www.sanjeetpandey.com
Integration for SAP BAPI function (Cont ...)
• In asynchronous tRFC inbound processing, the adapter does not have to be available
when the SAP server runs the function call. The function call is placed on a list of
functions to be invoked, and the call is attempted until it is successful. To send function
calls from a user-defined outbound queue on the SAP server, you also specify
asynchronous tRFC inbound processing.
• In asynchronous qRFC outbound processing, the process is similar to asynchronous
tRFC outbound processing. A TID is associated with the function call, and the adapter
does not wait for a response from the SAP server. In addition, the BAPIs are delivered
to a predefined queue on the SAP server. By sending BAPIs to the predefined queue,
you can ensure the order in which they are delivered.
7
8. www.sanjeetpandey.com
Integration for SAP IDocs documents
The IDoc adapter is part of the Integration
Server. Essentially, the IDoc adapter
comprises two parts, namely an adapter
at the Integration Server inbound
channel, and an adapter at the
Integration Server outbound channel.
The metadata for the IDoc types involved is
shared. The adapter at the inbound
channel is located before the Integration
Server pipeline and calls this pipeline.
The adapter at the outbound channel,
however, is called by the pipeline, and
can therefore be regarded as part of the
pipeline.
8
9. www.sanjeetpandey.com
Integration for SAP IDocs documents (Cont ...)
As part of ESB flow definition, a SAP inbound endpoint was used to receive iDocs from SAP. A new
destination (Program ID) was created in SAP, the iDocs created in SAP were also published to
the new destination.
There are two processes in IDOC processing one is INBOUND PROCESS (IDOC coming to the
system and its handling at various stages) and the other is OUTBOUND PROCESS (IDOC is
send to other system. Outbound data from SAP, in case of Price/VAT data from SAP, ESB
receives iDocs as JCO iDocDocumentList elements. Each iDocDocument contains iDoc
metadata and Segments which internally had the Segment data (Price or VAT information).
ESB can receive multiple iDocs at any time.
Inbound data to SAP, in case of Sales/Return Order from other application to SAP, Mule ESB
converted payload to iDoc XML format using XML-to-iDoc transformer and posted the
request to SAP.
9
10. www.sanjeetpandey.com
Benefits
When SAP is properly integrated with other applications, companies are able to streamline and
fully automate their business processes. Companies further benefit from SAP integration in
the following ways:
• Increased Business Alignment: The ability to create an integrated agile software
infrastructure for changing business needs
• Better Business Efficiency: The ability to streamline, automate, and enable a better tracking
and visibility to business processes
• Improved Business Visibility: Ability to integrate systems and to aggregate data for a
consistent and accurate view of business as a whole
• Significant cost savings by using low cost Mule ESB Enterprise
10
11. www.sanjeetpandey.com
Benefits (Cont ...)
• Support for functional and non-functional requirements
• Ability to generate reports in SAP based on regions and evaluate the sale across the world
• Improved customer interactions by automating direct communications
• Elimination of the need for dual data entry, saving time and money
• Fewer data redundancies and errors caused by manual data entry
• Enhanced agility to act on new information quickly
11
Follow Do's and Do Not'sCommon Profile PicFollow Company and Geography:HydAdd followers from peers and WW, MuleSoftHave a Note about yourselfAsk Questions in live BrightTalk Webinars using #tweetsTweet/Retweet Articles on Mule. WW blog, G+ and Forum Links
Follow WW and Mulesoft....
Follow Do's and Do Not'sCommon Profile PicFollow Company and Geography:HydAdd followers from peers and WW, MuleSoftHave a Note about yourselfAsk Questions in live BrightTalk Webinars using #tweetsTweet/Retweet Articles on Mule. WW blog, G+ and Forum Links
Follow WW and Mulesoft....
Follow Do's and Do Not'sCommon Profile PicFollow Company and Geography:HydAdd followers from peers and WW, MuleSoftHave a Note about yourselfAsk Questions in live BrightTalk Webinars using #tweetsTweet/Retweet Articles on Mule. WW blog, G+ and Forum Links
Follow WW and Mulesoft....