Comparison of LO-VC model
to AVC Model
Steve Schneider, Sr. Consulting Product Data Analyst
[email protected]
October 14 - 17, 2018 1
1
About Steelcase Inc.
For more than 105 years, Steelcase Inc. has helped create great work, education and
healthcare experiences for the world's leading organizations. Our family of brands,
including Steelcase®, Coalesse®, Designtex®, PolyVision®, Turnstone®
and AMQ™, offer a comprehensive portfolio of furniture and technology products and
services. Steelcase is globally accessible through a network of dealers, including over
800 Steelcase dealer locations, and is a publicly traded company with fiscal 2018
revenue of $3.1 billion.
2
Read the Slide Notes!!!
This presentation is to be used as demonstration only. Do not make purchase
decisions based on what you see in this presentation! All statements are the authors
personal opinion and do not necessarily reflect the opinion of his employer or any
other person or company
3
If you did not attend this presentation, much of what I spoke about is contained in the
slide notes.
3
Definition
This presentation will compare 2 similar Product
models. One built using the traditional LO-VC and
the other using the new AVC (Advanced Variant
Configuration). An overview of the master data
differences between both models will be shown
along with some important differences that are not
master data related.
All Data Models are built in a S/4HANA 1809
release On Premise system! 4
4
Read This Document
https://www.configuration-workgroup.com/node/4597 5
Much of this presentation is based on what can be found in the newly released
Improvement List noted in this Forum post.
While I actually built these models and presentation before the list was released, it
follows along pretty closely.
Note that the presentation itself was reviewed and approved by the colleagues at SAP.
5
What Will Be In This Presentation
• Change of Material Length from 18 to 40
• Change of Characteristic Length from 30 to 70
• Actions going away (replaced with procedures but still working in the AVC
model)
• Classification as a selection condition going away
• Overview page for VC Modeler
• Processing Modes
• Negative Domain Restriction syntax (including Variant Tables)
• All characteristics (Including Multi Value) being restrictable
• Pre-Conditions acting like constraints
• Characteristic groupings
• New AVC Syntax checks
• Alternative values
• More Precise rounding
• BOM Explosion
• Intermediate variable values
6
Slide Information
For reference, the comparison slides will be built in this manner, with the LOVC data on
the left and the AVC data on the right. When compared in this manner each data
column will be labeled as shown here.
This same Bicycle data model will potentially be utilized in future presentations on
topics such as Loose Coupling
7
General S/4 HANA Stuff
(not necessarily AVC related)
What is in the next few slides are things that are not specific to the AVC. They are part
of the general S/4HANA releaser but are relevant to understand when moving your VC
model into S/4HANA
8
Material Masters
18 Characters 35 Characters
S/4 HANA can go up to 40 characters. Note that you will get a warning about EDI not
functioning correctly if you exceed 35 characters.. Do so at your own risk!
All models shown in this presentation are no more than 35 characters
9
Characteristics
30 Characters 70 Characters
10
Note that you must extend the material master past 18 characters before you will be
able to use the new extended Characteristic Value length
10
Actions Removed
LOVC (ECC 6.0) LOVC & AVC (S/4HANA)
11
Existing actions will continue to work in the S/4HANA LOVC model. You cannot create
new actions. Note that the screenshot labeled LOVC is actually from and ECC6 EHP 6
system. Only the right hand screenshot is from S/4HANA
11
Classification as a Selection Condition Removed
LOVC (ECC 6.0) LOVC & AVC (S/4HANA)
12
Existing classifications used as a selection condition will continue to work in the
S/4HANA LOVC model. You cannot create new instances of this solution.. Note that the
screenshot labeled LOVC is actually from and ECC6 EHP 6 system. Only the right hand
screenshot is from S/4HANA
12
AVC Related Differences
13
13
Overview Page for VC Modeler
14
14
Variant Configuration Overview – Fiori Only!
Primarily AVC Models
15
The Overview page is something brand new. It is only available in Fiori. From this
overview page you will be able to get a “one stop” shop of things that are relevant to
you as a product modeler.
Note that things such as classes and characteristics are independent of the engine that
processes them. Therefore they will show on this screen as changed objects if they are
used in an AVC data model (assuming they have actually been changed)
15
Processing Modes
16
16
Processing Mode – Configuration Profile
LOVC AVC
17
The processing mode is a critical piece of the new data model. It all starts with defining
what processing mode will be used at the $Root Configuration profile.
When Classic is selected, the data model will be processed using the tried and true LO-
VC engine.
When Advanced is selected, then the data model will be processed using the new AVC
engine.
Note that the relevant model checks in the PMEVC (detailed later) are also based on
this $root selection.
It is not possible to “Mix and match” processing modes in a multi level model. The
engine will “inherit” the highest level processing mode.. However I strongly
recommend the processing mode be consistent throughout the entire data model to
be exploded.
17
Processing Mode – Object Dependencies (Constraints)
LOVC AVC
18
Object dependencies also need a processing mode based on the new and continued
expansion of the AVC syntax. You will find the processing mode on constraint nets and
constraints. Within constraint nets, the processing mode of the constraint will be
inherited from the net
18
Processing Mode – Object Dependencies (Non Constraint)
LOVC AVC
19
You will also find the processing mode on “standard” object dependencies
It is critical to note what engine a given object dependency will be used in.
For example, while the syntax of an existing Classic mode may be exactly the same as
the AVC dependency, HOW that dependency is processed may be different. This is
especially the case for pre-conditions, which are processed like a constraint in the AVC,
meaning (for example) that order of execution is not relevant.
You might notice that my AVC screen changed to look like the ECC screen. My old eyes
cannot tolerate the default SAP S/4HANA Screen color and layout… Sorry!!
19
Domain Restrictions Using Constraints
20
20
Domain Restrictions – Using IN Statement (Can Be Done in the Exact Same Way in AVC)
LO-VC
21
Within the LO-VC engine, the concept of “truth” is important.. Meaning that in the LO-
VC world, everything is a “positive” statement in order to restrict domains. This is a
direct result of something called the TMS (Truth Maintenance System) in the LO-VC
Engine.
21
Domain Restrictions – Using NE Statement – (Not Possible in LOVC)
AVC
No Inferences Section
Necessary!
https://blogs.sap.com/2018/09/07/sap-leverages-gecode-an-award-winning-constraint-solver-in-s4hana-for-advanced-variant-configuration/ 22
However, in the world of AVC, you can use negative expressions in order to restrict
domains. Notice that I use the Not Equal expression in the restrictions.
Also notice that there is no inference section necessary. At this point, ALL
characteristics will ALWAYS be inferred.
By the way, the TMS is not in the AVC engine. It has been replaced with a new
constraint solver and mathematical formulas
22
Domain Restrictions – Using IN and NE Statement – Side By Side Syntax
LO-VC AVC
23
Note Characteristic Reuse across both models..
By the way, characteristics do NOT need to be marked as “Restrictable” in the AVC
engine. ALL characteristics are considered as restrictable in the AVC…
23
Domain Restrictions – Try Using NE Syntax in LOVC
LO-VC
24
Notice what happens when I try to utilize a Not Equal domain restriction…. Fail…
24
Domain Restrictions – Using Variant Tables – Side By Side Syntax
LO-VC AVC
25
In this case, I am using a negative table call. Notice the AVC syntax uses something
called “FALSE IF”…
Next look at the tables involved
25
Domain Restrictions – Table Contents
LO-VC AVC
26
The result is that both domains are restricted in exactly the same manner.
26
Multi Value Characteristic Domain
Restrictions
27
27
Multi Value Domain Restrictions
Pre-Conditions No Pre-Conditions!
28
In the LO-VC world, the only way to do a domain restriction on a multi value
characteristic is by using pre-conditions. In the AVC, multi value characteristics are
restrictable… What does this mean to us?
Here is a demonstration of using constraints to restrict the domain.
28
Multi Value Domain Restrictions
Pre-Conditions Constraint!
29
Must set constraint C_AVC_BICYCLE_MV_OPT to Released
Must set constraint C_AVC_BICYCLE_MV_OPT_EQ to locked
29
Side By Side Multi Value Domain Restriction Using Pre-Condition and Constraint..
LO-VC AVC
30
Of course, if you REALLY, REALLY like preconditions on values.. They still work! But a tad
differently..
It really, really needs to be experienced in the simulation environment.. For the
purposes of this conversation, be very, very careful with preconditions using the
SPECIFIED statement in the AVC.
30
When EQ and NE Collide in Multi Value Characteristics….
31
You can use either the EQ or NE syntax to restrict the domains… And get the same
results.. But make sure you address ALL the values!!
Must set constraint C_AVC_BICYCLE_MV_OPT_EQ to Release
Must set constraint C_AVC_BICYCLE_MV_OPT to locked
31
Pre-Conditions in the AVC
32
32
Pre-Conditions Using Specified
LO-VC AVC
33
Here is a side by side syntax of preconditions in both LOV and AVC
33
Pre-Conditions Using Specified
LO-VC
34
Notice that the Frame Size has not yet been specified and therefore the value of
HARDRACINGSEAT is not available
34
Pre-Conditions Using Specified
35
Notice that the Frame Size has not yet been specified but the value of
HARDRACINGSEATANDIREALLYLIKELONGVALUES is available for selection
35
Pre-Conditions in the AVC Working Like Constraints
36
Pay really close attention to that Improvement listing.. It has nice little tidbits like this
in there…
36
Characteristic Groups For user Interface Design
37
37
Characteristic Groups For Interface Design
LO-VC AVC
38
Characteristic groups are a new concept designed to make creating an interface design
easier. These are now NEW master data elements that can be mixed and matched as
desired across models.
Note that in the AVC configuration profile, there is a new button. Clickign it will take
you to
38
Characteristic Groups For Interface Design
AVC
39
A new Fiori application that allows you to create new cstic groupings or assign existing
groupings.
You define the groupings of cstics how you want including the sort order of the cstics
within the groups.
If you assign multiple cstic groups, you can then define the sort order of the groups.
At this point in time, ECM is not enabled… But be advised that adding ECM control is in
the planned enhancements.
39
Characteristic Groups For Interface Design
LO-VC AVC
40
Notice you get much the same result.
40
Characteristic Groups For Interface Design – Coming Attractions…..
• Ability to maintain assignment of Characteristic Groups to
Configuration Profiles with ECM
• Ability to maintain assignment of characteristics within
characteristic groups with ECM
41
As noted, ECM is coming.. When?? Good question… ☺
41
AVC Syntax Check
42
42
AVC Syntax Check….. If You Ever See This
43
Sometimes you will perform a standard Object dependency syntax check on an AVC
model (from within the PMEVC), then try to go to simulation and you’ll get this
wonderful screen.
This screen is a tip…
43
AVC Syntax Check
44
That you have done something in your model that is specifically not allowed in the
AVC.. You can find out what those things are by running the AVC model check.. This is
executed from within the standard Model Check tool (menu path EXTRAS\CHECK
MODEL or the keyboard combination of CTRL+F2)
44
AVC Syntax Check
45
If you have done something wrong (like bind a multi value cstic to a variant table) you
will see an error message as shown. Fix you model, re-run the check tool and your
simulation will execute fine.
45
Alternative Values
46
46
Alternative Values in LO-VC
Restricted Domain Alternative Values
47
In LO-VC, the user initially sees the restricted domain of values. Then, after selecting a
value, if the user presses the F4 key, they get the selected value.
Of course, you can see the entire domain of values by selecting No entry, then hitting
the Enter key.
47
Alternative Values in AVC
Restricted Domain Alternative Values
48
Notice in this case that the original display is the domain of restricted values. Once the
user has selected a value, using the F4 key shows them the entire set of domain
restricted values (not the global set). What is also pretty cool is the inspector shows
you the global set, including those values that were excluded by domain restriction.
48
Improved Mathematics & Rounding
49
49
More Precise Rounding
Note that for this particular item, there are no master data
differences between LO-VC and AVC..
It’s all in how the underlying engine does math..
50
50
More Precise Rounding
LO-VC AVC
51
Notice the exact same formula
51
More Precise Rounding
LO-VC AVC
What you first see on screen
What you see if clicking the
What you see if clicking into the field
“Information” Button
52
Note that the target cstic is a numeric format at 15 digits. The new engine rounds the
last digit based on the new math algorithms.
52
More Precise Rounding
53
This slide was taken from a presentation give at ASUG.. For whatever reason, this slide
is not in the posted deck.
53
Bill of Material Explosion
54
54
BOM Explosion
LO-VC AVC
55
In LOVC, there are really 2 explosions happening..
One for the high level configuration
Another for the low level configuration. Think BOM explosion and Routing
determination.
While AVC still does both, HOW it does the low level configuration has changed..
This impacts what you can do with procedures in the BOM.
Note the cstic “BOM_CSTIC”
In LOVC the value was set by the procedure in the BOM
In AVC, the value was not set
55
BOM Explosion
LO-VC AVC
56
Notice that in the AVC simulation trace, you can filter on high or low level explosion.
In this example, I have it set to high level
56
BOM Explosion – High Level
LO-VC AVC
57
Notice the 2 executions on the LOVC side
And the 0 executions on the AVC side…
57
BOM Explosion
LO-VC AVC
58
Now notice the AVC side. I changed the trace detail to show procedures executing in
low level configuration
58
BOM Explosion – Low Level
LO-VC AVC
59
And look.. In the AVC, the procedure in the BOM is only executed by low level
configuration
As a result, no values are set into the BOM_CSTIC.. Because value assignment is not
possible in low level config
59
Intermediate Variable Values
60
60
BOM Explosion – Low Level
LO-VC AVC
LO-VC Presentation Given in Berlin
61
Some of you may use temporary variables in high level config.. Or as I called them in
the presentation referenced here, Intermediate values
You can do this in LOVC all day long…
But not in the AVC…
In the AVC, in order to do a value assignment, all characteristics must be assigned to a
class which is assigned to the configurable material.
61
Things I Didn’t Cover
62
62
The Roadmap
63
The items highlighted in Green on this roadmap are what I discussed. Along with many
of the innovations already released in 1709 that are NOT on this slide.
What is NOT highlighted in green are those items I did NOT discuss.
You need to pay attention to this slide during every CWG conference as the results will
be different (especially for the Cloud).
63
The Roadmap
https://www.sap.com/products/roadmaps.products-solutions.html
64
In case you are wondering, the roadmap has changed… Notice we are out to 2021
now, along with a couple of new items… Like that “Configuration Object” thingy….
Watch for further updates!
64
Questions?
65
65
Thank You!
Please remember to fill out the
Conference Survey 66
66
CWG Information (Use for non-CWG presentations)
• The ONLY international user group for SAP Configuration
technology
• THE best place to influence SAP on the direction of their
Configuration technology
• Multiple forums, technical articles, and blogs to get answers to
your pressing business questions about utilizing SAP
Configuration technology
• Two annual conferences, a spring conference in Europe and a
fall conference in the Americas
• Membership is FREE, but restricted to SAP employees,
customers, and partners which accept, respect and follow our
bylaws.
• http://www.configuration-workgroup.com/node/1850
67
67
68
68