You are on page 1of 8

SYSTEMS INTEGRATION

SAP & hybris Integration:


Technical Considerations, Tips, and
Best Practices
John Brumbaugh
Director of Commerce Delivery

Edited by:
Randy Kohl
Senior Content & Digital Strategist

SAP & hybris Integration: Technical Considerations, Tips, and Best


Practices
Table of Contents
Overview .......................................................................................................................................... 3
Integrations Overview .................................................................................................................. 3
Asynchronous vs. Synchronous Integrations ......................................................................... 3
hybris Data Hub ............................................................................................................................ 4
hybris ImpEx.................................................................................................................................... 5
Product Management ................................................................................................................... 5
Pricing Data ..................................................................................................................................... 5
Configure, Price, and Quote ....................................................................................................... 6
Inventory (Stock) Management ................................................................................................ 7
Order Submission .......................................................................................................................... 7
Order Status Updates ................................................................................................................... 7
Conclusion ...................................................................................................................................... 8

Overview

Many companies have spent years implementing and enhancing their SAP ERP systems to fit
their custom business needs. Now, they are looking to extend those capabilities to add
customer self-service and transactional ecommerce functionality. There are of course different
enterprise-class commerce platforms available to help extend site functionality into these
other channels, including the hybris commerce platform. As part of the SAP ecosystem, hybris
is particularly well-positioned to help extend your ERP investment, but before moving forward
with a hybris implementation, the first step is to plan out the integrations between hybris, SAP,
and the other third-party systems within your application infrastructure. Weve put together
this document to outline some of the many technical considerations involved in this type of
implementation, as well as offer guidance based on our own experience integrating these two
powerful systems.

Integrations Overview

The typical commerce application architecture consists of four tiers:


1. The front-end (i.e. the customer view or presentation layer)
2. The commerce API layer
3. The ERP
4. External single-purpose applications
The front-end and commerce API layers typically reside within the commerce platform in
hybris. hybris includes capabilities to provide multiple front-ends to the commerce
infrastructure, leveraging hybris OCC (Omni Commerce Connect) layer and building native
interfaces for each device through their native Android and iOS APIs. There are many different
ways to integrate the commerce API and the front-end, but well table that discussion for
another paper. Here, well focus on the integrations between the commerce API layer, the ERP,
and external single-purpose applications. These integrations lay the groundwork for the frontend integration.
Integration between the commerce layer and external, single-purpose applications allows the
commerce layer to easily display product, inventory, pricing, customer, and order data. The
two approaches for this are asynchronous and synchronous integration. Determining which
method to use for specific data points is an important decision, one that will ultimately impact
the final commerce solution in a number of ways.

Asynchronous vs. Synchronous Integrations

The big question in any commerce platform integration is what data residing in SAP needs to
be presented to customers in real-time versus what can be loaded asynchronously on a set
schedule.
Table 1 - Data Point Potential Integration Methods

Data Point
Product Data
Pricing Data
Inventory (Stock)
Customer Data
Order Status Data
Order Submission

Synchronous
X
X
X
X

Asynchronous
X
X
X
X
X
X

As you can see, many data point integrations can be either synchronous or asynchronous.
These decisions impact everything about your commerce system, from application
performance and scalability to customer satisfaction and functionality, so it must be a strategic
decision thats agreed to across all affected parts of the organization. Leveraging real-time, or
synchronous, connections requires the SAP ERP system to remain responsive to customers at
any time they would need access, including nights and weekends, which are typically prime
maintenance windows, as well as be able to handle the load caused by exposing ERP data and
capabilities to customers.

hybris Data Hub

Since the SAP acquisition of hybris, there have been numerous releases that target ways to
leverage SAP infrastructure within hybris. One of the first was the hybris Data Hub. Based on
Spring Integration technologies, thus vendor independent, the Data Hub is hybris preferred
approach to asynchronously transfer data from one system into another.
Leveraging the Data Hub requires IT organizations or their technology partners to build out
their own data translations for different file types, but the framework thats in place allows
business or technology users to see the data in the middle state between the third party
system and hybris to correct any data errors before they are introduced to the commerce
platform.
To simplify the integration between SAP and hybris, hybris has built pre-integrated connectors,
allowing the data to flow from SAP directly through the Data Hub and into hybris. These
connectors ease the integration between the systems, specifically for Product Master Data and
Customer Master Data. The Data Hub leverages the SAP standard IDOC format to transfer
data from SAP into hybris.
Table 2 - SAP IDOC to hybris Translation

SAP IDOC
MATMAS
LOISTD
CHRMAS
CLSMAS
CLFMAS

DEBMAS
ADRMAS
ADR3MAS
COND_A04

hybris Item Type


Product
StockLevel

Category
Product
Feature
FeatureValue
FeatureAssignment
Category
Customer
B2BUnit
B2BUnit
Address
B2BUnit
Address
PriceRow
DiscountRow

Description
Product Data
Stock / Inventory Information
Product Attribution and Metadata
Classification Hierarchy
Classification Data

Customer Data
Customer Address Data
Customer Address Data
Customer-Specific Pricing (Pricing
Conditions)

Depending on the number of customizations within your SAP implementation, the Data Hub
translations may need to be modified. But since this is starting with a solid base, the Data Hub
will lessen development costs and time to market for asynchronous integrations between SAP
and hybris.

hybris ImpEx

In addition to the Data Hub, hybris provides a CSV-based file format import mechanism called
ImpEx. ImpEx allows IT organizations to load data into the hybris system through either the
hybris Hot Folder mechanism or within the hybris Administration Console.
Hot Folders immediately process data files and load the content into hybris. Leveraging the hot
folder requires the technology organization to build an XML configuration file that translates
the data from the CSV file into hybris equivalents. Each individual item type will need one or
more translations, so leveraging the ImpEx format requires the IT organization to map data
within hybris to load data from external systems for every different item type needed.
The ImpEx file format contains three commands: INSERT, INSERT_UPDATE, and DELETE. The
INSERT command will insert data into the hybris system only if that item doesnt already exist
based on its unique code. The INSERT_UPDATE command is an upsert, meaning the system
will either update the current item, or create a new one depending on whether or not the data
exists in the system. The DELETE command will remove the specific item defined in the file.

Product Management

The hybris platform provides a full Product Information Management (PIM) solution through
their Product Cockpit. Known as PCM, or Product Content Management, this is an optional
addition to the base hybris commerce platform. Most enterprises have already spent
considerable time and resources structuring their product, attribution, and classification data
within their ERP, so hybris provides multiple ways to load data into their system, the ImpEx file
format or the hybris Data Hub.
PIM can play an important role as part of a broader Master Data Management (MDM)
strategy, which can drive organizational efficiency and improve the customer experience. For
more information on this topic, download our paper on Leveraging PIM to Support Your MDM
Strategy and read our case study on agricultural equipment manufacturer AGCO.

Pricing Data

One of the major differences between B2B and B2C commerce is how pricing data is handled.
In the B2C world, it is standard to see one base price for all customers, with pricing changes
being the result of promotions or sales. Within B2B, often customers have unique negotiated
prices based on numerous different business factors. These pricing conditions are typically
written and developed within the ERP, and need to be presented to customers consistently
through online and offline channels. So, what determines which pricing method to use?
In B2C scenarios, its more efficient to load prices into the commerce platform (i.e. hybris)
where promotion management is stronger and more flexible than in the ERP. When a
promotional price is needed, the commerce platform will calculate the price, assuming the predefined conditions are met based on customer or current shopping cart data, and pass it back
to the ERP as metadata with the order.

In B2B scenarios, a lot of time and money has already been spent customizing the ERP to make
sure prices are handled correctly for all customer orders. Every organization has spent time
building custom pricing conditions that dictate prices to individual customers, but now
organizations need to allocate more resources to ensure consistent customer pricing is
presented regardless of channel. The determination of whether to use asynchronous or
synchronous pricing comes down to two key questions: How often do prices change? and
How difficult is it to export prices from the customized SAP implementation to hybris?
If an organizations prices dont change often and it is relatively easy to run and export pricing
conditions, we would recommend using an asynchronous integration to load prices into hybris.
Prices in hybris can be loaded against customers, customer groups, or just the products
themselves. Having the prices solely within hybris reduces the load on the ERP, the need to
maintain 24/7 ERP availability, and increases page load speed, which positively impacts
customer experience and conversion.
If an organization has complex pricing conditions and they cannot be easily exported from
SAP, a real-time (synchronous) integration is necessary. The trade-off in this scenario is the
ERP will need to be able to withstand the additional load caused by customers coming to your
commerce site and accessing pricing. In the past, relatively lengthy ERP response times were
acceptable. However, integrating a customer-facing commerce solution like hybris requires
exceptionally fast response times, in the sub-two-second range, in order to meet customer
expectations.
So what do customers with complex pricing rules do? Many SAP customers leverage the SAP
Internet Pricing Configurator to display pricing to customers and customer service
representatives across applications like SAP ECC, SAP CRM, and even hybris. Other options
include not displaying prices until the product is added to the cart (which we would only
recommend in select scenarios), and then running a synchronous call back to the ERP to run an
Order Simulate, which will execute the order calculations within the ERP and provide them
back to the commerce system through a web service call.

Configure, Price, and Quote

Historically, one of the more difficult things to integrate from the ERP into the customer-facing
web site has been the ability to create custom configurations for products, price them
appropriately, and then notify the warehouse/plant what parts need to be combined together
to build the final product. Probably the most high-profile consumer site that leverages this
functionality is Apple.com, which allows customers to configure MacBooks, iPhones, iPads,
etc. before purchase.
To help businesses bring these capabilities to their customers through the hybris commerce
suite, hybris and SAP released a module called SAP Configure, Price, and Quote. This module
leverages the SAP Solution Sales Configuration (SSC) plug-in for hybris, which integrates SAP
Variant Configuration into the hybris B2B Accelerator. The SAP CPQ module provides new,
customizable CPQ WCMS components, an SAP-to-hybris Data Loader, which can be triggered
directly from the hybris Management Console and used to load product model data from an
existing SAP Knowledge Base, including customizing data required for pricing, and the ability

to add the customers final selections to the cart, which can then be placed within an order or
quote.

Inventory (Stock) Management

After pricing, displaying inventory (stock) data through the website is the most complex
decision from both an integration and user experience perspective. From a user experience
perspective, the decision focuses on where you first need to display inventory information to
the customer, if at all. If displaying inventory, this is typically done on the product detail page.
But from a system architecture perspective, what are the inflection points that can drive the
decision in one direction or another? The major inflection point is how the available to
purchase (ATP) number for the product is determined and the number of warehouses (or
stores) from which the product could be shipped. If the ATP calculation is extremely complex
and requires a lot of time, it is best to push this to the end of the ordering process (i.e. the
shopping cart) and not display this information up front. Additionally, if the business
exchanges inventory between warehouses or stores, its also best to push the in stock
calculation to the end of the ordering process.
If inventory (stock) numbers will not be shown on the product detail page, the most common
place to leverage inventory data within the ordering process is during order creation. Within
the cart, many businesses choose to display whether a product is available or backordered, but
not provide details regarding how many individual units are in stock.
It is a common business practice to notify the customer before an order is submitted, if it
cannot be fulfilled in a timely manner. So, hybris will make a call to SAP to determine (1) if the
product is available and (2) if not, the estimated shipping date. The estimated shipping date
should not be calculated within the commerce system. hybris should be fronting the data from
the ERP and the WMS.

Order Submission

The final step in the ordering process is the submission of the order from hybris to SAP. If a
real-time integration for pricing or inventory data has been created, it is a best practice to also
submit the order from hybris to SAP in real-time. Otherwise, it is best to submit orders to SAP
asynchronously.
An asynchronous order submission doesnt mean that the order will not get to the ERP in a
timely manner, but it does allow for the hybris system to take the order and respond to the
customer a lot quicker. Within the hybris system, a cron job can be scheduled to run every
minute (or less) to check for newly submitted orders, and then submit them to SAP through
either a file-based replication or a direct web service call. This also provides the ability to
create a buyers remorse period, or a short window of time in which the order can be
cancelled before it is sent to SAP, at which point it becomes much more difficult to cancel,
without customer service agent assistance.

Order Status Updates

After the customer has placed an order, getting detailed order information is the most
common customer need. In B2C scenarios, customers are often trying to learn where the
product is in the shipping process, or obtain their tracking number to determine the delivery

date. B2B customers also want this information, but additionally they want to know whether or
not their product has been allocated for shipment, if its been assembled, or if there is a hold in
the process for some reason. All of these different statuses used to require the customer to call
a customer service agent, but that is no longer the case. hybris enables the display of order
status information from SAP, within the Order History section.
As products move through the various plants and warehouses, they all have internal statuses
saved within the ERP or WMS and most of those statuses dont mean anything to customers.
Since customers wouldnt understand the internal status notifications, the first decision that
needs to be made is what order statuses should be shown to customers. From there, it
becomes a technology decision to determine the best way to deliver status information from
the back-end to the front-end. There are two frequently used options: a real-time web service
call from hybris to SAP or a batch data-load with replication of data from SAP to hybris.
There are trade-offs to both approaches. In the synchronous real-time exchange of
information, hybris is reliant on ERP availability whenever a customer checks order status.
Whereas in the data replication model, there is a chance the data can become out of sync. The
decision point on this normally comes down to how soon after an order status change do
customers need to be notified, and what system is best to push either email or mobile
notifications. If push notifications are required, it is probably best to replicate the data, because
that will provide control over all customer-facing data within a single system. However, if push
notifications arent required, real-time web services should be used to provide order status to
customers. This provides transparency, which improves customer satisfaction and reduces the
load on customer service agents.

Conclusion
SAP and hybris form a powerful combination, enabling organizations to create robust digital
commerce experiences that simplify existing commerce channels, unlock efficiencies, and
open up new opportunities for growth. To make this happen, the systems need to be tightly
integrated, and to a large extent these integration decisions need to be driven at an
organizational level to determine what makes the most business sense. Among the key things
to consider are making use of existing datasets whenever possible to avoid duplication of effort
and unnecessary complexity, and leveraging the strengths of each system to form the best
possible business and customer experience.
Of course, the technical considerations involved in integrating SAP and hybris are many, and
this paper only serves as the tip of the iceberg. Still, we hope you found the information
contained here a valuable starting point toward a deeper discussion within your organization.
Should this spark additional questions, please dont hesitate to contact us at
hybris@gorillagroup.com.

You might also like