Hi 🙂
I have a Visio used for elements running different protocol versions.
In one version, a value is available as a single parameter (e.g. 301).
In another version, the same value is provided through parameters in a table.
I want to display the new parameter if it exists, and otherwise fall back to the old one.
However, I cannot modify the protocol or add any extra parameters to use as a condition in Visio.
Is there a way in Visio to check if a parameter exists (not just if it has a value), and use that in a Show/Hide condition?
Thanks in advance
Lucía,
Hi Lucia,
I believe you can get the result you are looking for by using the 'Show' directly in the parameter shape data (Linking a shape to an element parameter | DataMiner Docs). In the example below, as long as the parameter value is >0 then the shape will be displayed.
For the shape using the PID not in a table:
Parameter| 301|Show;>0
For the shape using the PID in a table (where 'Interface_1' is my IDX value for the table row to display, match this to the table IDX for the parameter 301 you want displayed):
Parameter| 301:Interface_1|Show;>0
Then stack the shapes one on top of the other in your Visio. Only the parameter which resolves to true will display.
Steve
Hi Lucia,
Since a parameter is defined in a protocol, a possible option is to use the protocol name as condition, see Extended conditional shape manipulation. There is an example that use the protocol name:
<G>-G|Element:MyElement|Protocol|=MyProtocolName
Hope it helps.
Hi Miguel,
Thanks for your suggestion! ☺️
In this case, the protocol name is actually the same for both scenarios. The only difference between the elements is the protocol version, not the protocol name itself.
So unfortunately, I cannot use the protocol name as a condition to distinguish between them.
Thanks again for your help!
Hi Steve,
Thanks for your reply, I really appreciate it.☺️
I tried your suggestion using:
301|Show;>0
but it doesn’t seem to work in my case. The issue is that this new parameter is a string parameter (time format), not a numeric one, so the >0 condition never evaluates to true.
Additionally, in this newer protocol version, the values coming from the table are often “Not Initialized”, which also prevents the condition from resolving as expected.
So even though the parameter exists, the shape is not displayed.
What I’m really trying to achieve is to detect whether the parameter exists at all, regardless of its value, since I cannot modify the protocol or add extra properties—only work with conditions in Visio.
Do you know if there is any way to check for parameter existence (rather than evaluating its value)?
Thanks again for your help!