The 2311 release of
SAP Variant Configuration and Pricing is planned to be deployed to BTP customer tenants on October 25th.
This blog covers the following planned innovations:
- Extension Concept – Database Access for Local Extensions
- SAP Cloud ALM Integration for System Monitoring
- Pricing service – Bulk Update for Different Conditions Across Items
- Pricing service – Calculate Condition Rate from Condition Value
- Pricing service – No Unintended Group Condition Processing Through Structure Conditions like 2DUP
- Pricing service – Return Condition Table Ids Consistently
- Administration – Improvements to UIs for Pricing Data Replication
It also includes a call to act regarding the following potentially incompatible changes:
- Pricing service – No Unintended Group Condition Processing Through Structure Conditions like 2DUP
- Pricing service – Return Condition Table Ids Consistently.
Please check the updated
roadmap and
release notes after the release date to see which of those features could be delivered as planned.
Disclaimer
The information in this presentation is confidential and proprietary to SAP and may not be disclosed without the permission of SAP.
Except for your obligation to protect confidential information, this presentation is not subject to your license agreement or any other service or subscription agreement with SAP. SAP has no obligation to pursue any course of business outlined in this presentation or any related document, or to develop or release any functionality mentioned therein.
This presentation, or any related document and SAP's strategy and possible future developments, products and or platforms directions and functionality are all subject to change and may be changed by SAP at any time for any reason without notice. The information in this presentation is not a commitment, promise or legal obligation to deliver any material, code or functionality. This presentation is provided without a warranty of any kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. This presentation is for informational purposes and may not be incorporated into a contract. SAP assumes no responsibility for errors or omissions in this presentation, except if such damages were caused by SAP’s intentional or gross negligence.
All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking statements, which speak only as of their dates,
and they should not be relied upon in making purchasing decisions.
Extension Concept – Database Access for Local Extensions
Since the
August release, we distinguish
local extensions and
remote extensions:
- Local extensions: upload custom JavaScript code for variant functions and certain pricing routines which is executed locally by configuration and pricing services.

- Remote extensions: specify an external web service URL which is called by configuration and pricing service for each variant function or custom pricing routines. Remote extensions were also described in SAP Variant Configuration and Pricing – Extension Concept | SAP Blogs.

Local extensions were introduced in August. The concepts of local and remote extensions exist in parallel. Local extensions are now the first choice to avoid unnecessary network latencies in custom code execution and to reduce customer TCO by avoiding running extensions e.g. on Kyma.
Remote extensions must still be used in cases that cannot be covered by the local extensions.
Local extensions implementation must be compliant with the ECMAScript 2021 specification and may not have external dependencies. No HTTP- or DB calls are possible from within that code.
In the November release, we will enhance the local extensions framework in a way that replicated database tables can be read from the custom code. Additionally, we will allow replication of additional tables that are needed for the extension implementation.
We will introduce two new customer roles for the administration UI:
- ReplicationAddTables: Allows requesting new tables for replication that shall be used for local extensions.
- ReplicationApproveAddedTables: Allows reviewing and approving the added tables before they can be replicated and used.
In menu
Tables, you will find a new section
Add Custom Tables:

Disclaimer (Labs Preview)
You must go through the different steps of a workflow to add new tables. It starts with a disclaimer explaining that size restrictions apply with regards to number and size of additional tables.
Additional tables can only be replicated from SAP ERP, SAP S/4HANA on-premise and SAP S/4HANA Cloud, private edition, not from SAP S/4HANA Cloud, public edition.
In the next step, you add the list of additional tables, and you can choose if you need the tables for pricing, configuration, or both:

Add and Submit
Then, a size check must be done:

Size Check
You can also apply filters, for example, if not all table columns are relevant or if size check fails.
This is strongly recommended to reduce the amount of data transferred.
You can select the needed columns:

Filter on Columns
Similarly on rows:

Filter on Rows
After successful size check, the new tables are submitted for approval. There is not yet a mechanism to notify an approver about pending requests. The approver can then approve or reject tables:

Approval Screen
From the local extensions JavaScript code, a replicated database table can be accessed through interface sap.db() as described in the following example:


“sap.db().select()” returns a SelectBuilder, that supports the following actions:
- “top(int)”, where ‘int’ in [1…100, max/default=100 row result size]
- “columns(String, …)”, where the strings are column names
- “from(String)”, where the ‘String’ is the table name
- “where(WhereExpression)”
”build()” returns the select statement, that must be passed to sap.db().execute() to process the select and receive the results.
Results can be processed as follows:

Local Extension - Read DB Results (Labs Preview)
More details will be published in the
Administration Guide and the
Extension Guide.
SAP Cloud ALM Integration for System Monitoring
Configuration and pricing services and their administration UI will report aspects related to system monitoring to the central monitoring and alerting tool in SAP Cloud ALM for cloud-based application lifecycle management (ALM). The focus of system monitoring is to monitor the following aspects:
- Critical error situations (exceptions) for configuration and pricing services
- Errors during data replication
- Data replication status of the data provisioning agent of SAP HANA smart data integration

Messages Overview

Message Details
See also
SAP Cloud ALM | SAP Help Portal.
Pricing service –Bulk Update for Different Conditions Across Items
New service end point
POST /api/v1/pricing/documents/{documentId}/itemsConditionsList will be introduced to update different pricing conditions on multiple items.
While the existing endpoint
POST /api/v1/pricing/documents/{documentId}/itemsConditions only allows to create or update a single condition type across items, the new endpoint can also be used to create or update different manual conditions across items.
More details will be published in the
API Definition and in the
Development Guide.
Pricing service – Calculate Condition Rate from Condition Value
In price calculations, the condition value is always calculated from condition rate and condition base: Condition value = condition rate * condition base.
When a condition value is manually added or changed for a specific price condition, the rate is not calculated from the value.
This behavior remains for back-end compatibility.
Additionally, the rate will be calculated and returned in the field
rateConverted which was introduced in the
August release to return condition rate in document currency.
More details will be published in the
API Definition and the
Development Guide.
Pricing service – No Unintended Group Condition Processing Through Structure Conditions like 2DUP
If condition type 2DUP (or any other condition type with setting ‘structure condition = A’) was present in a pricing procedure, an unnecessary iteration of price calculation used to be done. This issue has been corrected.
If condition type 2DUP (or any other condition type with setting ‘structure condition = A’) was present in a pricing procedure, group conditions used to be calculated even if group condition processing was disabled. This issue has been corrected.
Action: When using stateless pricing with groupCondition=false, e.g. in SAP Commerce Cloud or SAP CPQ Quote 1.0 with a pricing procedure that uses a condition type with setting structure condition = A ‘Condition to be duplicated’, please check your pricing results. If you rely on group condition processing, ensure that stateless pricing is called with groupCondition=true.
More details will be published here in the
API Definition and the
Development Guide.
Pricing service – Return Condition Table Ids Consistently
Endpoints
GET /pricing/documents/{documentId}/conditions/{conditionId} and
GET /pricing/documents/{documentId}/items/{itemId}/conditions/{conditionId} used to return the table number only in response field
table, like 900, while
POST /statelesspricing and
GET /customizing/accesssequences/{accessSequenceId} return a full table name, like A900. This issue has been corrected.
Action: Check and adapt your implementation if you are using field
table returned by
/conditions endpoints.
More details will be published in the
API Definition and the
Development Guide.
Administration – Improvements to UIs for pricing data replication
Bulk entry of pricing procedures
Up to 50 pricing procedures can now be entered separated by commas or line breaks.

Improved replication status of pricing procedures
The UI displaying pricing procedures has been enhanced to show the replication status of the pricing procedures in more detail. Now the status of each condition table can be seen. It is also possible to retrigger the replication of a condition table.

More details will be published in the
Administration Guide.
With that, you have a good overview of what innovations are planned for the November release. Please check updated
roadmap and
release notes after the release date to see which of those features could be delivered as planned.