If you’ve been doing VC for any length of time, you’re probably very aware of this little trick. But if you’re new to VC, you might not be aware that you can dynamically control your characteristics. You can use object dependencies to set a characteristic to invisible, or set it to input or no input.
For me, when I model a product line, I often need to add characteristics that aren’t always available for the user to see or to input. For this, I will create reference characteristics based on the following table:
Screen_DEP |
INVISIBLE |
YES |
Makes characteristic Hidden (same as checking No display below) |
INPUT |
YES |
Makes characteristic available for input (same as un-checking Not ready for input) |
|
NO_INPUT |
YES |
Makes characteristic unavailable for input (same as checking Not ready for input) |
|
RESET |
YES |
Resets all values set by Screen_DEP structure. |
Simply create a new characteristic, and on the reference tab enter in the Screen_dep for the table, and one of the fields in the 2nd column as the field.
Now, in your object dependencies, you can simple use your standard logic:
$SELF.INVISIBLE = ‘MY_CSTIC’
IF….
now the only catch to this, MY_CSTIC must be spelled properly. There is no syntax checking since it’s a literal. But if you spell it correctly, and if the IF statement is met, MY_CSTIC will be made invisible.
It’s that easy. Very slick and very powerful. If you haven’t already, give it a try.
Screen_DEP |
INVISIBLE |
YES |
Makes characteristic Hidden (same as checking No display below) |
INPUT |
YES |
Makes characteristic available for input (same as un-checking Not ready for input) |
|
NO_INPUT |
YES |
Makes characteristic unavailable for input (same as checking Not ready for input) |
|
RESET |
YES |
Resets all values set by Screen_DEP structure. |
Mike
Can you set a characteristic to invisible, but then still input a value from the hidden characteristics screen?
This is one of those “it depends” answers. You can’t enter the value on the hidden screen. If you want to assign a value, you must select the cstic and press show. Then it will put it onto your standard configuration screen.
However, this only works for things hidden by the user. If you’re not familiar with this, it’s anything that is dynamically hidden. If the cstic is set at the characteristic level, then you will not be able to show it.
Hope this helps,
Mike
Can I set a characteristic with a first dependency to “NO_INPUT” and with a second dependency to “INPUT” .Both dependency will have different IF statements?
Typically, you don’t need to set anything to “INPUT”. The idea is that within a single dependency you have the logic all built in to set it to “NO_INPUT”. Whenever that is NOT true, it is set to INPUT automatically. So my recommendation would be to do a single dependency and incorporate the logic you are suggesting into a single IF statement.
The solution is so simple for my problem 😉 RESET
THX
Hi Mike, got a question for you. When I set this invisible and no input ref char up in my system, would there be something within SPRO that is not set right that would keep that from processing correctly? It seems that non-of my reference chars linked to SAP tables are functioning as per what they should from my procedure calling them out.
Just need a little help. To get the ball rolling. Would appreciate any help you can send my way. Thanks, Pat (previously from Tennant) now at Entegris.