User blog: Phil Martin
You may have heard that SAP has a new advanced variant configurator in S/4HANA. But what does that mean? Initially, I was a bit confused when I first heard about it probably over a year ago but with the CWG Conferences in Europe and the US have been the ideal place to learn about it. So here are some questions and answers. These are my opinions and are not providing guidance on decisions you may take.
Does the AVC (Advanced Variant Configurator) replace the existing variant configurator?
For the on-premise version, the answer is it can, but you have the choice of which models you want to migrate and those you may not want to. For the cloud version, there is only the AVC.
What do you mean, you can choose?
The reality for companies who have many VC models developed over many years, it can be a huge task to migrate models to the AVC. So in the configuration profile and constraints, there is a new "Processing Mode" where you can set as classic or AVC. Models can live side by side.
Is the migration as simple as choosing the Processing Mode as AVC?
No. The AVC is basically a new configuration engine. The classic VC engine was developed back in the '90s. Just think what your car was like back in the '90s. Now think what we have now and how technology has changed. So the AVC is running modern technical approaches. In simple terms - in many cases, your current logic may work - "technically" but the final result might be wrong.
Or they may not run at all!
What do you mean when you say it may run but give an incorrect result?
Visually the PMEVC modelling environment is the same, and we see the same sort of dependencies such as constraints, procedures, preconditions and selection conditions. It all runs in Fiori as well. But the behaviour in the AVC is different.
For example, the new constraint engine is totally different. If you want to know the detail start here then here. It runs differently, it processes constraints differently. The syntax is treated differently. Also, an interesting area is preconditions. As you may know, I avoid preconditions, but in the AVC they work more like a constraint and so the behaviour will be different.
So will there be tools to help me transition?
Yes. There will be tools to identify deltas required, tools to copy models like Transaction VCHMOVCOPY. I personally can not comment on these yet as I haven't used them. There is a presentation by Steve Schneider at the Nashville Conference (2018). If you are a member you can find it here.
Why would I want to use the AVC? What's the benefit?
SAP is investing heavily in the AVC. It will be more powerful, more enriched, faster, and the platform to support newer technologies and functionality. There will be a point where it will become compelling. Think of Artificial Intelligence, Machine Learning, complex rules and integrations. Even basic LOVC restrictions with multi-value characteristics and constraints disappear. By default, the AVC treats everything as restrictable.
From what I have seen, good modelling practices that the CWG and our VC Essentials Course promote, still apply when moving to the AVC. The AVC is a constraint-based engine, and that is where your models should be heading.
At Radiant Think the new AVC is an exciting prospect and we look forward to its development and helping customers learn to use it, migrate to it and explore what it offers.
SAP has been working for some time on a new Advanced Variant Configuration engine that is available in S4 HANA. In a future blog I will explain various aspects of the new configurator - often called the AVC.
- Differences in functionality
- Migration paths from classical to the AVC
- How it is being developed
- Good practices to modelling
- The new configuration engine - what it is
How to access the Sandbox
To access the Sandbox requires these prerequisites.link.
The access request will be reviewed and in a few days, you will receive the login details and an initial password. For myself, the login failed and after a few attempts, I received an email to reset my password. Once doing that via the link, my access was OK.
What is the version of S4 HANA?
The access is to an S4 HANA Cloud Version. From what I could tell, based on where the help took me, it is version 1811.
It is all Fiori Based. You will have access to just about everything so the Fiori launchpad is very full. But once you find the tiles you need you can add them to your Home Group.
The number of users is limited. When you are granted access you will have a minimum of 3 weeks of access. When your access expires you can reapply to gain access again. If demand is high you may need to wait for access.
This cloud version is available till May 2019.
What can I do?
It is up to you what you do. You can create your own models, you can look at other models. But I suggest you do not change other models. We all will want to test aspects of the AVC and when a model is changed by another person it makes the testing difficult.
For myself, I have started a basic model to test constraints initially. RT_TEST_BIKE_01. One big change is that INFERENCES are no longer needed and if present is ignored. It also means that you cannot control the inference direction like you can in classic mode - is that a good thing??
Being the cloud version means that the AVC configurator is your only choice. An on-premise version allows the classic and AVC to co-exist.
The AVC is the same - but different! In a future post I will try and summarise some of those differences, and in some cases where the functionality is still being developed.
I look forward to seeing your testing.
There is a sense of calmness when you look at a VC model and it looks organised and structured. I get to see various models in various industries and businesses. Often it may be to troubleshoot a problem or as a review. In either case, a good indication of how well the troubleshooting occurs, or the ease of review of the model, it comes down to two main criteria.
- Is the model well structured
- Is good naming in place
Firstly - notice the structure. I use Constraints to be my primary modelling technique. Secondly, I then use procedures if II need to. Each procedure has a purpose, so I can find the one I need easily.
This model only has one constraint net, however, many models will have a few. They are great to organise constraints by a purpose.
Notice the naming. I have prefixed firstly with RT_ as the system used has other data so this allows me to segregate more easily. On most projects, I do not use a prefix like that as it is not necessary, but I use this convention.
- CN_ Constraint Net
- CS_ Constraint
- PR_ Procedure
- SC_ Selection Condition
- PC_ Precondition
- N300_ Type 300 used in the class hierarchy (not assigned to the material)
- M300_ Type 300 assigned to a material master
- S200_ Type 200 used as a selector class
- S300_ Type 300 used as a selector class
- Structure and naming make it easier to understand the model.
- Good naming conventions guide modellers to use good structure and approaches.
- Maintenance is easier, and new members to the team can quickly learn the design.
- Good for wildcard searches in lists or ALE
- Can see the purpose of the object
I hope this is useful. Our online training course VC Essentials follows these principles, in conjunction with a modelling framework to assist with the translation of requirements to a solution.
This post discusses Variant Configuration modelling approaches. When I first learnt Variant Configuration it was a mad scramble to understand what it was, how the pieces integrate and end up with a usable model. My early attempts were not pretty.
In the early days before I discovered the clever people in the Variant Configuration community, I learnt from the SAP Help. If you have also learnt this way, you might have found, like me, that it shows you techniques on making a piece of a model work. It does not help with how to approach modelling. Also you will learn about pre conditions and procedures first. These will produce a model - but they can be awful. Hard to maintain, hard to scale, hard to understand.
Later I got excited about constraints. Normally many modellers learn these later as they look difficult on your first exposure. That was the case with me also many years ago. Many get unsure, even when using constraints on when to use procedures and when to use constraints.
My general rule makes this decision simple. Use constraints first where ever you can.
Constraints are great because you can collect them in Dependency Nets. A dependency net can define a common set of constraints. For example you may have complex rules that control product dimensions, layouts and selections. These can be grouped into a dependency net. With conditions in the constraints you can control when they run so is great for performance. You can see what each constraint does from the name. From my VC Essential course here is a screen shot of constraints in a dependency net.
Do you have a sense that it looks organised, that you can see by the naming the broad purpose of each constraint?
If I wanted to achieve a similar result I could use procedures and preconditions. But it would be so complicated and hard to follow that the model would be difficult to maintain, or understand.
So when do I use procedures and preconditions?
I use procedures mainly for defaults, pricing, and controlling characteristic hide and display. Here is an example from our course for these.
As you can see it helps manage your models efficiently. Each has a purpose so it makes it easy to troubleshoot and maintain.
Preconditions? Avoid where possible. In fact in S/4 HANA will probably not be needed, and in ECC6 I only use to filter multi-value characteristics.
So this blog provides a snapshot of constraints and procedures. In my VC Essentials Online training course, we go into this in some detail. The first dependency you learn is a constraint!
If your models do not use constraints then it is time to reconsider that approach. Contact me and I can provide more details on our course and a quotation.
Thanks for your time.
Have you considered how flexible your VC models are - or need to be? Have you ever been asked to use your model in a new plant or country?
Recently for a new global rollout for SAP and VC, planning workshops were considering this point.
Many companies are global and have VC Models for products that are similar. The challenge is to keep a global approach to the modelling, but provide flexibility to enable localisation for each region, country and plant. The idea is to not reinvent the wheel in each location, but instead be able to plug and play with the design.
It is not easy to do, but good VC design approaches can enable a flexible model that promotes consistency and reuse.
By identifying what is common - no matter where the model is used, can be captured in the Type 300 class design. By using multiple classes to define global characteristics and design, classes that define localisation aspects etc, this can provide a flexible structure to then hook the configurable materials.
In this simple example there is a shared Global Class, and then for a region, a Local Class.
This keeps a common design approach - no matter where the model is used. Combined with a flexible multi-level BOM design (another topic) this provides a solid approach to make models flexible into the future.
In our Radiant Think VC Essentials course, we incorporate this approach in our lessons. Many VC Courses, including those by SAP, do not implicitly incorporate design approaches as the foundation of their course materials. The same applies to most "free" Youtube courses that you will find. Other courses may teach you various techniques...but our course teaches the good practice approaches.
Some of you may know we have begun to translate our VC Essentials online, self paced course to German from English. We have been very lucky to have Claudia Kruppel work on the translations for us. She previously worked with AICOMP and has performed translations to German for other companies. Contact us if you need English / German translations and we can put you in touch with Claudia.
Many corporations with SAP software have global operations. This means that many pieces of data are shared across countries with different languages. Ideally, those users should see where possible terms and descriptions in their language. I recently had discussions with a German company in Australia that had some localisation issues related to the global template.
In this post, I am focussing on aspects of language localisation that relate to Variant Configuration.
What happens if I log in with a different language choice.
Let us start with logging into SAP. Most of the time we log in with the default language - in my case English. I will compare this with logging in using German.
Comparing the initial screens shows SAP converts to German for its menus and screens.
What about Variant Configuration?
Now, lets move to Variant Configuration. In this comparison, we will look at the RT_BIKE_00 model used in the VC Essentials Course and how it looks in PMEVC Modelling Environment with an English login on the left and German on the right.
The English login shows the description of each object such as Constraint Nets, Constraints, Object Dependencies, Classes and characteristics.
The German login in most cases does not have a description except where I previously maintained one. The constraint net has "Standard Constraintnetz" because I added it. Looking on the text tab we can see the two descriptions.
What happens if I maintain an object for the first time?
If I am logged in using the German language then if I maintain an object, then the description is blank and in most cases, you will need to add one. Using, maintaining a characteristic in transaction CT04 as an example I will show the screen. As can be seen the description is not shown as there is not a German version.
After entering the German name (I did this one with Google so if it is incorrect that is why!) the German description is now available.
Back in transaction PMEVC we can now see it.
It can be a big task
As can be seen, if there are many objects and descriptions requires significant effort to maintain for the first time. Particularly where characteristics may have many values. The process is similar for most objects. You will find a language tab on most objects.
That is a quick overview of how to localise to another language for Variant Configuration objects. This provides some initial insight into localising your variant configuration models to another language.
This is often asked
Variant Configuration has been a mature product for a long time, and is currently being injected with new life as the transition to S/4 HANA continues.
But whether you are still in the ECC6 environment or in transition to S/4 HANA, basic modelling principles will always apply. We believe at Radiant Think that good approaches lead to good models and in our VC Essentials online training we start with the approach first. This places your models in a good position to absorb future changes and ongoing maintenance that is needed in a normal business environment.
Sometimes we find models are not always developed with good approaches and therefore have not used the appropriate techniques.
So what is the correct approach?
In the VC Essentials online course, we cover various approaches to realistic business requirements that you will encounter in developing a VC model. This includes understanding the various objects in SAP, but more importantly how to think like a VC Modeller. We always start with the requirements and consider how these may blend to other requirements in the model.
Once you think like a VC Modeller, you realise that your main techniques will be Constraints, and these often will also include the use of Variant Tables.
Think - performance, structure, maintenance
This approach ticks so many boxes.
- Performance - constraints only run when the condition is TRUE. Procedures can run....and run....and run
- Structure - Constraints and variant tables organise your model nicely. If you use many preconditions you will know how hard they can be to control.
- Maintenance - Simply a lot easier as constraints and variant tables are like a roadmap of your model.
What if your models do not follow this approach?
It is not unusual that VC Models do not use this approach of constraints and variant tables. Our VC Essentials online course is a good start to understand good approaches. We have customers using the online course for this purpose as they have different approaches and customisations in different parts of the organisation.
This then provides a common understanding to develop new models with good approaches, or to look at how existing models can be modified in the future.
In some companies, as models evolve and become more complex, performance can also become a factor. A future blog will discuss performance in more detail, but often migration of procedures to constraints can improve performance.
If you need a training course that has a focus on good approaches then consider trying our VC Essentials course preview. This will provide you with the detail of the course content and access to some of the lessons. This is training that is unique and effective.
Feel free to contact me at firstname.lastname@example.org if you have specific requirements or questions. We are flexible and interested in your training goals.
Join our customers in the US, Germany, Australia, Croatia and Romania who are already taking advantage of our training.
Hopefully, you are using Transaction PMEVC - VC Modelling Environment to maintain your VC Models.
SAP provides updates to the functionality that you may not have implemented yet in your system. Some of these changes will make you more productive and faster in maintaining models. That has to be a good thing.
Below is a long list of OSS Notes that can be applied to your system. If you do not know what an OSS Note is - well it is SAPs way to apply fixes and updates to SAP systems.
In the notes that follow these will allow such things as maintaining classes and characteristics, more drag and drop, see your routings and maintain their dependencies, variant table improvements, using the full width of your monitors etc.
You may have these in place now, but there may be some on the list you may want to get your SAP system people to implement. My list may not be complete but has most of them I think.
2233122 - Routings in the model tree of transaction PMEVC
2011952 - Improved screen layout in PMEVC
2054124 - PMEVC: Create configuration profile with template
1688548 - Maintenance and class assignment of characteristics in PMEVC
2082077 - Creating a further configuration profile in PMEVC
2180193 - Display of change states of dependencies in PMEVC
2184188 - Display of change states of constraints in PMEVC
2163281 - PMEVC: Deletion of several characteristics from a group
1848536 - PMEVC: Check for empty cells in variant table maintenance
2390906 - PMEVC: added functionality to create characteristic with template
2410424 - PMEVC: Button for deletion of all characteristics from a group
2530153 - PMEVC: Restrict F4 plant input help to plants valid for material
1658479 - Maintain multiple values in variant tables
1621104 - Paste large amount of data from clipboard – Variant Table
1625629 - Drag and drop for sorting of procedures
2061441 - Filter for multiple selection of characteristics for an interface design group
1610489 - Syntax error highlighting in dependency editor
No training plans? - the risks
Training is something we know we should do, as it makes good sense. It is true for variant configuration but also for most modules in SAP.
So why is it that training that is beneficial is delayed, forgotten or sometimes not even considered?
Especially for Variant Configuration. Why?
Variant Configuration model design depends on the skills of the modeller. VC is a creative module that is shaped by the skill of the VC modeller. It impacts most aspects of SAP logistics and finance. Think about that for a moment.
Now reflect on how modellers learn VC. Often on the job, often not by choice, and often under pressure of time and budget. That is not a good way of learning and may not be with good practices in mind.
The risks are that models are not scaleable, maintainable, effective and efficient.
There are many reasons why training is not put in place for learners.
- disruption to business
- complexity to arrange
Having been a user of VC, a modeller, a consultant and a trainer I have a good understanding of VC training. It can be costly, it can be hard to arrange, and the disruption to the business can be a factor. There is also a cost and risk for not having training.
Removing the training barriers
There are various training options out there for learning Variant Configuration, but not many offer what we offer.
Variant Configuration Essentials online
Our course starts with approaching VC models in a business context. Many other courses just teach techniques with little regard to a total solution.
Our course provides guided simulations in the SAP transactions and self-guided exercises that provide a hands on experience. Many other courses show learners by watching an instructor.
Our courses test for understanding. Many other courses have exercises but may not be measured for success.
Our courses can be started at any time, online. A learner can fit their learning into the usual work schedule as it is self-paced. Many other courses require the student to be locked into 3 - 5 days of continuous training.
Our courses are cost effective when you consider the total cost of training for many courses.
Next steps - our preview course
We think we have a good offering and so we have created a preview course for VC Essentials. The preview has the content in the full course. Access is provided to some of the content to try out for yourself.
Visit us at Radiant Think and register on the portal and try out the preview course.
The digital transformation is gathering pace
I will start with a disclaimer. This is my overview of what I know about the transition of SAP Variant Configuration to S/4 HANA. It is provided as information only and should not be relied upon in your business decisions and your future plans should be discussed with SAP. However, this may provide some clarity on the directions in play.
Many of us are using classical SAP Variant Configuration, but we are also hearing more about S/4 HANA. This is a major change underway and is analogous to when SAP moved from R/2 to R/3. S/4 HANA is a huge step forward and will provide the basic platform for years to come.
But what does this mean to all the companies in the world using SAP Variant Configuration?
We all know how complex VC can be with its hard links with Make to Order and Engineer to Order processes. In my view, VC is an additional master data layer that transforms core static structures like BOMs and Routings into dynamic, powerful structures. This is all about Lot Size 1 being managed very efficiently and effectively.
The core building blocks are classification, effective rule engine and an object orientated approach. This has worked well for 20 plus years.
SAP is being very careful to provide a transition path of "classic VC" to the new "advanced VC".
What is the transition approach?
My simple understanding of the plan is that the classic models will migrate to S/4 HANA. In practice, this may be a smooth transition but I would expect that customisations could require some rework. So in an ideal scenario, the models will still work and can be used.
What about the advanced VC option?
S/4 HANA will have a new and improved advanced modelling capability. Some of this could offer new syntax like wild cards in dependencies, other parts will integrate nicely with Fiori for a better user experience, and other integration to provide powerful analysis.
So how do you migrate your models to the new advanced VC? From what I have heard there will be a migration tool or process that will tell you what is compatible to migrate to the advanced VC model, and provide details on aspects of the model that will need attention.
Do all models need to transition to Advanced VC?
It would seem that models can co exist with a mix of classic and advanced. This means there will be time and flexibility to either upgrade models to advanced VC, perhaps retire classic models and start afresh with new models, or retain classic models. Every company will be different and it will depend a lot on complexity, volumes, and previous modelling practices.
What do I think?
I think that SAP is being careful to not break VC. At its core, it is retaining many of the existing building blocks and concepts so that there is a clear transition path. It is not to say this is easy but they have been engaging with customers on this. If you are a member of the Configuration Workgroup then check out some of the presentations at the recent Hamburg conference that provide more detail than this blog.
I believe that if you have sound modelling approaches then the transition will be easier. Our VC Essential Course tries to emphasise good approaches.