SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine...

29
PUBLIC Andreas Koelbl, SAP October, 2019 SAP S/4HANA for advanced variant configuration New Syntax & Enhancement Concept

Transcript of SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine...

Page 1: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

PUBLIC

Andreas Koelbl, SAP

October, 2019

SAP S/4HANA for advanced variant configurationNew Syntax & Enhancement Concept

Page 2: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

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.

Page 3: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

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

Page 4: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

4PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ

Agenda

New Syntax

Enhancement Concept

Variant Functions?

Summary

Page 5: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

SAP

Advanced Variant Configuration

New Syntax

Page 6: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

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

Page 7: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

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

Page 8: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

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:

Page 9: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

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)

Page 10: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

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 ]

Page 11: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

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]

Page 12: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

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

Page 13: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

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]

Page 14: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

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

• …

Page 15: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

15PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ

Other Syntax Will Follow Soon…

Future

innovation

Page 16: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

SAP

New BAdIs

Page 17: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

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

Page 18: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

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

Page 19: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

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

Page 20: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

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

Page 21: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

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

Page 22: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

SAP

Variant Functions?

Page 23: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

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)

Page 24: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

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?

Page 25: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

SAP

DEMO

Page 26: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

SAP

Summary

Page 27: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

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

Page 28: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

28PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ

Q&A

Page 29: SAP S/4HANA for advanced variant configuration Share... · 2019-10-10 · • Call external engine e.g. BRF+ • Pass values from one instance to another instance without specifying

Contact information:

Andreas Koelbl

Product Owner Advanced Variant Configuration Engine

[email protected]

Thank you.