In this blog, we want to give you an introduction into the Variant Configuration service, which is part of the solution
SAP Variant Configuration and Pricing.
What is the Variant Configuration service?
- The Variant Configuration service lets your sales teams, customers, and channel partners configure your products accurately and efficiently.
- The service features APIs to create, load, and change product configurations in an interactive fashion.
- Service on SAP API Business Hub: Details | API References
- Leverage your knowledge of SAP variant configuration to model your products and use them everywhere. That provides smooth end-to-end data flow between your cloud applications and your SAP back end.
- Relevant product models are replicated in knowledge-base format from SAP ERP or SAP S/4HANA in the SAP Cloud to allow the Variant Configuration service to use that data independently of the backend load or availability. See also Best Practices to Generate Knowledge-Base Runtime Versions | SAP Help Portal .
- The Variant Configuration service can forward calls to the SAP S/4HANA for advanced variant configuration engine (AVC) in the back end, bypassing the service's configuration engine. In that case, the service cannot run independently of the back-end load and availability anymore.
- The Administration UI is a SaaS application to manage the replication of the master data. For on-premise back-end systems, it utilizes SAP HANA smart data integration (SDI) to establish a push-connection from the back end. The data is then stored in a HANA database on SAP BTP.
- The Variant Configuration service can be used completely independent from the Pricing service, and vice versa.
- Product page with all information (e.g. Feature Scope Description, Guides, SAP Notes): https://help.sap.com/docs/SAP_VARIANT_CONFIGURATION_AND_PRICING
Excerpt of the Feature Scope Description:
https://help.sap.com/docs/SAP_VARIANT_CONFIGURATION_AND_PRICING/40af1155b9d344a4b7474c694d13f595
Feature |
Description |
Simple configuration |
The user assigns values to characteristics of a product. All the dependencies and constraints from the configuration model are considered. |
Multi-level configuration |
A complex structured configuration consists of a hierarchy of products. The root product may contain one or more sub-products which are configurable. The user assigns values to characteristics of these sub-products. |
Advanced Variant Configuration |
The Variant Configuration service can forward calls to the SAP S/4HANA for advanced variant configuration engine in the back end, bypassing the service's configuration engine. |
External configuration |
The Variant Configuration service provides required information to enable process integration in the back end. |
Configuration persistence |
The Variant Configuration service provides persistence for configuration runtime data. Every change in the configuration during the configuration process is saved in the database. |
Master Data APIs |
• Get a list of knowledge bases* header data, e.g. for a given product.
• Get all master data details for a given knowledge base id.
• Get maintained translations in specified language(s).
*Knowledge base: collection of all relevant product model data (like materials, characteristics, and dependencies). |
Configuration APIs optimized for UI consumption |
• Create an initial configuration with default values
• Update characteristic values.
• Get details of a configuration previously created.
• Reset and delete a configuration. |
Configuration APIs for data exchange |
• Retrieve external configuration with all required information from a previously created configuration, to enable subsequent configuration change processes.
• Create a new configuration from external configuration.
• Enable copying of configurations and subsequent configuration change processes.
• Enable the exchange of configuration data with the order fulfilment functions in the SAP back-end system. |
Extensibility |
The functionality of the standard syntax can be extended by variant functions (custom code). SAP offers a predefined set of variant functions for common use cases, which are supported with best performance out-of-the-box.
In addition, a custom web service called by the configuration engine for each variant function (not for pfunctions) can be specified. The customer is responsible for deployment, correctness, and potential performance impact of the calls to the variant function implementation. |
Try it out!
On the API Business Hub you cannot only find the full API documentation, but you can also test the service against a sandbox environment with the example model CPS_BURGER.
Open
Overview | Variant Configuration Service | SAP API Business Hub and click on Try Out.
Try Out
On the left, you find the different API groups with the different endpoints.
Choose POST /api/v2/configurations as depicted on the screenshot above and click on Run to create a new configuration.
In the response section, you can find the configuration results:
Response With Configuration Results
The configuration id (in this example 78f9e053-8d15-413f-be21-442a53957afe) must be copied and pasted to the corresponding input field of the other GET, PATCH, and DELETE endpoints to read, change or delete this configuration:
Change a Configuration
Please note, the returned etag in a POST or PATCH response:
Etag
This etag must be passed as If-Match header in the next PATCH request:
If-Match
When a change is made via a PATCH request, the endpoint will not return the changed configuration in its response. Please use endpoint GET /api/v2/configurations/{configurationId} to read the changed configuration.
With that, you have a good first overview about the cloud service and how to test it. For more information about the different endpoints, please refer to the Development Guide on
SAP Variant Configuration and Pricing | SAP Help Portal.