$ROOT

Home / Posts tagged "$ROOT"

Variant Configuration – $Root, $Parent and $Self

If you didn’t know better, you’d think this was some strange post about psychotherapy.  Well, it’s just one of the underlying concepts you need to understand for variant configuration.  this is one of the concepts that is easier to describe with a picture.  So let’s start with one.  $ROOT, $PARENT and $SELF are the different ways to refer to the characteristics in your model.  Each of them works a little differently.

Now, what you’ll notice is that we have several nested KMATS at multiple different levels.  Now to start this conversation, we’re talking procedures.  Using the picture, let’s do a simple table to show you

Configuration $SELF $PARENT $ROOT
Level 4 Level4 Level 3 Level 1
Level 3 Level 3 Level 2 Level 1
Level 2 Level 2 Level 1 Level 1

Now, if you look at the picture, we only call out the BOM level at the bottom.  In reality, there is a BOM level for each configurable material, but it would be redundant to go through that.  The important things to realize is that $ROOT and $SELF always points to the same place.   Only $PARENT changes.

there is an exception to this rule, and because of that, I suggest avoiding $ROOT.  The exception is when you take a KMAT that was not part of another configuration, and suddenly add it to the BOM.  As soon as you do this, $ROOT suddenly points to a new level.  Personally, it’s not a method I like to use.  Prefer to use $PARENT, and then I make sure to pass the values from level to level if needed.

This pic comes straight out of SAP help.  It’s a little bonus for this blog post to help explain how constraints can deal with the separate levels.  In a constraint, the concept of $SELF, $ROOT and $PARENT don’t exist.  Everything is about classes and if they are part of each other.

I hope this make sense,

If you need more help, click the contact button above, and let us know how we can help you,

Mike