E-commerce has become an indispensable platform for retailers to take their products online to the customers who look to shop on the go. With the demand increasing consistently, maintaining an online storefront efficaciously in a hassle-free way is what e-retailers are thriving for. Having a seamless integration between an e-commerce platform and enterprise resource planning (ERP) system is imperative to achieve this. SAP Cloud Platform Integration (SCPI) provides a ready-made ‘plug and play’ integration between SAP Commerce and other SAP solutions, including ERP.
In this article, you will be presented with an overview of the integration between SAP Commerce and ERP. A detailed guideline to set up a SAP Commerce project with SCPI is furnished in the last section.
Before this integration
Until this integration became a potential solution, businesses around the globe had to integrate SAP Commerce with ERP ground-up painstakingly. This soared up the complexity, time and cost of the overall project. SCPI brought forth ready-made extensible integrations for all typical scenarios thereby, improving the overall maintenance. About the cost, absolutely worth it. Data Hub was doing its rounds earlier, but it had its own difficulties and complications.
The boons
SCPI enables the exchange of all vital information such as the details of customers, orders, payments, services and shipping. Updating such information in the respective systems is simplified. It reduces maintenance and errors. Also, it provides the Audit and Retry mechanism.
The data available in the ERP system can be used to yield useful data at the storefront such as product availability, order status and shipment tracking.
Having a firm grip over the business is quintessential for every e-retailer of any scale. With the integration of SAP Commerce and ERP, not a single aspect of the business goes out of the confined boundary defined by the e-retailer.
SAP Commerce and Data Hub
The predominant focus is on ETL (Extract, Transform, Load) processing of inbound and outbound data in SAP Commerce. Data Hub is extensible. Custom adaptors, extensions and development tools can be added to an installation. Dynamic extensions can load metadata at run-time. But the flexibility is low because of the high complexity and becomes challenging when manipulating existing items such as the target system export codes for ImpEx headers or column names. There are certain limitations when it comes to testing, redeployment and scalability. These limitations turn out to be a bane in today’s needs for delivery and improvement cycles for the SAP commerce teams.
SAP Commerce and Synchronous Order Management
SAP Synchronous Order Management is widely implemented for a B2B scenario, where customers represent their companies. Here, the number of users simultaneously logged on to a storefront is comparatively lower than that in a B2C scenario. Hence, the system downtime is tolerable.
The data and business processes reside in SAP back end (SAP S/4HANA, SAP ERP or SAP CRM). Any customer interaction takes place through SAP Commerce. The orders placed in SAP Commerce are directly stored in the SAP back end, being non-existent in SAP Commerce. Cart pricing and checkout come directly from the SAP back end and the stock information is retrieved from SAP S/4HANA or SAP ERP.
However, frequent calls to the SAP back end adversely affect the system performance. This makes commerce solution dependent on back end availability. Hence, when the back end is down, customers’ shopping experience is compromised.
The focus is predominantly on:
– Running business processes consistently.
– Providing bankable stock information.
– Safeguarding huge investments made in the SAP back end.
The Sync OM UI consists of a dedicated UI that is implemented on top of the standard Accelerator UI. It supports both desktop and mobile formats.
SAP Commerce and Asynchronous Order Management
SAP Asynchronous Order Management can be integrated either with the standard functionality offered by Cart and Checkout or with Order Management Services. The features and configuration for both the scenarios are more or less the same.
Order capturing is done in SAP Commerce, including price calculation and order storage. Orders in the storefront are transferred via Data Hub to the SAP back end (SAP S/4HANA, SAP ERP or SAP CRM). Sales order fulfillment (shipping and billing) is done in SAP S/4HANA or SAP ERP. Prices can be calculated in SAP S/4HANA or SAP ERP.
All information is exchanged with the SAP back end using IDoc XML. When a sales order is submitted in SAP Commerce, it is duplicated automatically via Data Hub to SAP back end.
SAP Commerce and Cloud Platform Integration (SCPI)
This is more of an integration bus that has overcome the complexities in point-to-point communication system, which was made of tightly coupled cross-linking systems. The high coupling resulted in low cohesion. The systems in SCPI are loosely coupled, offering high cohesion. It enables businesses to follow a centralized and simplified approach for design, configuration and management.
SCPI offers a web-based, virtual design portal that supports the connectivity of IDoc, SFTP, SOAP, HTTPS, SuccessFactors and OData. The preconfigured integration patterns offer scope to create many other integration scenarios with minimal customization. SCPI is highly secure with distinctive features such as content encryption and certificate-based communication. The connectivity adaptors enable systems to connect through both proprietary and open protocols such as IDoc, OData, JMS, HTTPS, EDI, Ariba and AS2/4.
For the integration of Commerce and SCPI, find below the required extensions and add-ons:
1. Install SAP Commerce using the b2c_b2b_acc_oms recipe and do not initialize until the final step.
2. Add the following extensions to the localextensions.xml file:
oodata2webservices
ointegrationbackoffice
osapcoreaddon
osapcoreconfigurationbackoffice
osapmodelbackoffice
osapcustomerb2bbackoffice
oysapomsfulfillment
osapcpiadapter
osapcpiproductexchange
osapcpicustomerexchange
osapcpicustomerexchangeb2b
osapcpiorderexchangeoms
osapcpiorderexchangeomsb2b
osaporderexchangebackoffice
osapcoretest
3. In the localextensions.xml file, add the path
<path dir=’${HYBRIS_BIN_DIR}/ext-integration/sap’ autoload=’false’ />
4. Install sapcoreaddon to your storefront extensions using the command
ant addoninstall -Daddonnames=”sapcoreaddon” -DaddonStorefront.yacceleratorstorefront=”<your storefront extension>”
5. Update the platform local.properties file to specify the properties related to SAP S/4HANA integration.
A. Add the following 2 properties to the local.properties file and adjust the number ranges according to the settings in the ERP back end.
- property ‘keygen.customer.sap_customer_id.start’, ‘0000490000’
- property ‘keygen.customer.sap_contact_id.start’, ‘0000490000’
B. Add the following property to the local.properties file, which identifies the asynchronous order management and the order number.
- property ‘keygen.order.code.start’, ‘0000490000’
C. Add the following 3 properties to the local.properties file for asynchronous order management.
- property ‘numberseries.cache.size.order_code’, ‘1’
- property ‘saporderexchange.orderoutbound.maxRetries’, ‘3’
- property ‘log4j.logger.de.hybris.platform.sap.orderexchange’, ‘debug’
6. Initialize the SAP Commerce Platform, either by running the command ant initialize or in the SAP Commerce Administration Console.
Back Office Configuration (1): HTTP Destination for IDOC (ERP)
1. Create HTTP destination for both the S4/ERP scenarios.
2. URL is configured for IDOC-XML service entry points. In the SICF transaction, this service must be activated.
3. CPI security credentials alias must be used to set a dummy password.
4. URL:
http://<virtual-host>:<port>/sap/bc/srt/idoc?sap-client=800
Back Office Configuration (2): SAP Global Integration
Back office setting:
Create SAP Global Configuration and enable B2C Consumer Replication.
Commerce Outbound Destinations Configuration (1):
In CPI Manage Integration Content, get iflow and OData endpoints to be connected from Commerce.
Commerce Outbound Destinations Configuration (2):
Configure Impex import :: essentialdata-OutboundDestinations.impex
Commerce Outbound Destinations Configuration (3): Impex import
Author:
Riyajudeen Mohamed
Solution Architect – SAI Digital, India
Co-Author:
Veera Ramasamy
Country Head – SAI Digital, India