SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine...
Transcript of SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine...
PUBLIC
Andreas Koelbl, SAP
October, 2019
SAP S/4HANA for advanced variant configurationNew Syntax & Enhancement Concept
2PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
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.
3PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
SAP road maps cover innovations that focus on business solutions and processes. They span products that are relevant for
customer lines of business in their industries and explain how our innovations can add value to your business.
In SAP road maps, you can learn about our innovations along three different timelines:
1. Recent innovations for our solutions have been launched in the past weeks or months and can already be purchased.
2. Planned innovations for our solutions are expected to be launched in the short term or midterm.
3. Future direction provides a long-term perspective on high-level development plans on innovations for our solutions –
inspired by your requirements.
About SAP Road Maps
4PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Agenda
New Syntax
Enhancement Concept
Variant Functions?
Summary
SAP
Advanced Variant Configuration
New Syntax
6PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Syntax Enhancements
Numeric Function: Round to Decimal Places
New capabilities:
• Round a given value to a given number of decimal places
• Supported High-Level Dependencies: all dependency types
• Syntax: round(<single value cstic | expression>, <unsigned constant>)
Recent
innovation
Result:Syntax:
X = Round( Y, 2 )
X = Round( Y, 0 )
Y = 2,9621 X = 2,96
Y = 2,9621 X = 3
7PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Syntax Enhancements
New capabilities:
• All of the joined expressions must be fulfilled
• Supported High-Level Dependencies: constraint restrictions
• Syntax elements can be used outside of if-conditions
• AND
• OR
• NOT
Example
• x OR y if …
• x AND y if …
• NOT x
Boolean Expressions: Overview
Planned
innovation
8PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Syntax Enhancements
Boolean Expressions: AND
• Syntax: <expression> AND <expression>
• Example (Cstics with domain value 1 – 9)
Planned
innovation
X = 1 AND Y = 1
Restriction:
X = 1
Y = 1
Result:
9PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Syntax Enhancements
Boolean Expressions: OR
Planned
innovation
X = 1 Y = [1 ... 9]
X = 2 Y = 1
Y = 2 X = 1
X = 1 OR Y = 1
Result:Syntax:
• Syntax: <expression> OR <expression>
• Example (Cstics with domain value 1 – 9)
10PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Syntax Enhancements
Boolean Expressions: NOT
Planned
innovation
Result:Syntax:
• Syntax: NOT <expression>
• Example (Cstics with domain value 1 – 9)
X IN ( 1-3, 9 )
NOT Y IN ( 1-3, 9 )
X = [ 1, 2 , 3 , 9 ]
Y = [ 4 – 8 ]
11PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
X = 1 Y = [2 ... 9]
X = 1
Y = 1
Syntax Enhancements
Boolean Expressions: Negative Variant Tables
Planned
innovation
Result:Syntax
• Example ((Cstics with domain value 1 – 9)
TAB_XY [1,1]
NOT Table TAB_XY (
X = X,
Y = Y ).
Table TAB_XY (
X = X,
Y = Y ).
X = 2 Y = [1 ... 9]
12PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Syntax Enhancements
Numeric Function: Minimum / Maximum Value
Planned
innovation
New capabilities:
• Choose the minimum / maximum value consistent with the configuration
• Supported High-Level Dependencies: procedures
• Syntax idea: Cstic = max(Cstic), Cstic = min(Cstic)
Result:Syntax:
Y ?= MAX(X)
Y = MIN(X)
X = [2 – 4, 6] Y = 6 (Default)
X = [2 – 4, 6] Y = 2
13PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Syntax Enhancements
Generalized Variant Table
Planned
innovation
New capabilities:
• Use wildcards, multiple values and intervals in variant table cells
• Supported High-Level Dependencies: all table statements
• Example (Cstics with domain value 1 – 9)
X = 1 Y = 1 Z = [1 - 9]
Z = 4 X = 1 Y = 1
Z = 2 X = [1 – 9] Y = [1 - 4]
Result:
X Y Z
1 1 *
2 2; 3 1 - 3
> 2 4 < 4
X = [1 – 9] Y = [1 - 4] Z = [1 - 9]
14PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Syntax Enhancements
String Processing
Planned
innovation
New capabilities:
• Common String Functions
• Supported High-Level Dependencies: all dependency types
• Convert string to numeric
• Get substring
• Find substring
• Length of string
• …
15PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Other Syntax Will Follow Soon…
Future
innovation
SAP
New BAdIs
17PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
New BAdIs in AVC
Enable implementation of customer logic
Overview on BAdI Definitions
• Modify predefined domain values to characteristics
• Modify valuation of characteristics before starting
validation
• Modify valuation of characteristics after complete
validation
• Modify valuation of characteristics at leaving
configuration
Multiple Implementation Allowed
• Common Case: One implementation per
configuration model (root material)
Recent
innovation
Planned
innovation
18PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
VCH_HL_MD_DOMAIN_MODIFYPlanned
innovation
Use Case Examples
• Build-up empty domains from tables including
language specific description for string
characteristics
• Add temporary values for special promotions
• Change value description for certain customer
• Change static defaults e.g. for certain customer
materials
• Restrict domains on level of configuration model
Execution
• Only AVC high-level configuration
• First activation of a configurable instance
Scope
• Add new domain values and intervals
• Delete predefined domain values
• Change certain attributes of predefined values
Overrule the values predefined in the characteristic master data
19PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
VCH_HL_PRE_VALIDATE_ASSIGNRecent
innovation
Use Case Examples:
• Call external webservice, RFCs, other APIs
• Call external engine e.g. BRF+
• Pass values from one instance to another
instance without specifying every characteristic
• Read other class types like 001, 019, 017 and z-
tables
• Read master data table (only data stored on
database) for value assignment
• Check user inputs before dependency processing
• Replaces many variant functions of LO-VC
Execution
• Every roundtrip before dependency processing
• Considered in high-level dependency processing
• Control assignment on all instances
Scope
• Add new assignments
• Delete value assignments
Modify value assignments before processing the dependencies
20PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
VCH_HL_POST_VALIDATE_ASSIGNRecent
innovation
Use Case Examples:
• Switch author to external assignments (avoid
changes by user)
• $SUM_PART; $COUNT_PART (if not needed in
validation)
• Calculation of weights, surfaces, electrical and
mechanical parameters
• Ability to review fully configured object looking for
specific information
and set a value
• Replaces many variant functions of LO-VC
Execution
• Every roundtrip after dependency processing
• NOT Considered in high-level dependency
processing
• Control assignment on all instances
Scope
• Add new assignments (all instances)
• Delete value assignments (all instances)
Modify value assignments after processing the dependencies
21PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
VCH_HL_ON_SAVERecent
innovation
Use Case Examples:
• Special checks on valuation consistency
• Set values for other processes to use (customer
tables)
• Delete values of helper cstic (not to be stored to
cbase)
Execution
• While leaving configuration
• NOT Considered in high-level dependency
processing
• Control assignment on all instances
Scope
• Lock configuration
• Add new assignments Delete value assignments
Modify value assignments while leaving configuration
SAP
Variant Functions?
23PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Variant Functions?
• Dependencies are executed on SAP HANA level
• Variant Function in ABAP layer interrupts engine processing in SAP HANA
• Data transfer of actual configuration model between SAP HANA & ABAP required
Core AVC Engine(Implementation in C++)
Validation
BADi VarFunc
Filter: Func1Implementation1
BADi VarFunc
Filter: Func2Implementation2
BADi VarFunc
Filter: Func3Implementation3
ABAPLayer
SAP HANA(AFL)
24PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Disadvantages of Variant Functions in ABAP Layer:
• Performance issues expected
• Interruption of engine logic endangers consistency
What to do instead?
• Use of new provided syntax
• Use of BAdIs before and after validation
Variant Functions?
SAP
DEMO
SAP
Summary
27PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
• AVC provides new syntax
• Rounding to decimal places
• Boolean syntax combinations: not/and/or on left side of if-condition
• Other syntax will follow soon…
• AVC provides new BAdIs for customer enhancement to modify
• Domain values
• Value assignment
• Variant functions should be replaced by new syntax and BAdIs before and after validation
Summary
27
28PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Q&A
Contact information:
Andreas Koelbl
Product Owner Advanced Variant Configuration Engine
Thank you.