Hi,
I am building a M:N Tree Control and would like to let the alarms travel from the included tables (Pids: 3200, 3400, 3600, 3800) through the Links table (Pid: 4150) to the parent table (Pid: 4000).
However, The alarm travels from the child tables directly to the parent blob and it is not showing on the Links blob, as can be seen below:
Relations are defined as follow:
<Relations>
<Relation path="4000;3200" options="includeInAlarms:topology2:rightTopLevel"/>
<Relation path="4000;3400" options="includeInAlarms:topology3"/>
<Relation path="4000;3600" options="includeInAlarms:topology4"/>
<Relation path="4000;3800" options="includeInAlarms:topology5"/>
<Relation path="4000;4150"/>
</Relations>
TreeControl definition is as follow:
<TreeControl parameterId="1022">
<Hierarchy>
<Table id="4000"/>
<Table id="4150" parent="4000"/>
<Table id="3200" parent="4150" condition="4153:Jobs;filter:fk=4001"/>
<Table id="3400" parent="4150" condition="4153:Progenitors;filter:fk=4001"/>
<Table id="3600" parent="4150" condition="4153:Jobs Parents;filter:fk=4001"/>
<Table id="3800" parent="4150" condition="4153:State Ids;filter:fk=4001"/>
</Hierarchy>
<OverrideDisplayColumns>3205,3404,3605,3803,4153</OverrideDisplayColumns>
</TreeControl>
How can I make the Links blobs show the alarm state of the included child?
I had a similar issue some time ago, and created a troubleshooting guide.
Alarm bubble up in Treecontrol not working
Symptoms : you encounter issues that the alarm color bubble up is not working correctly in Treecontrol. Without it, it is hard to determine where an alarm is exactly coming from. One example of this is that the colors are correct up to a certain level, and above it are incorrect.
Checks you can perform :
- Check if the problem was software- or driver related by looking for a release note.
Remember that the severity bubble up in services is different from the bubble up in Treecontrol, and this is a different code path. - If you cannot find any software articles related to it, check another protocol that uses Treecontrol, and see if that works.
If it does, it means at least Treecontrol is working, but it may fail due to some corner case scenario.
Test this protocol locally, and then on the customer’s staging server.
If the known working protocol does not work, this indicates a software bug. - The includeInAlarms option needs a unique tag per relation tree in the protocol.
Check to make sure that there are no duplicate tags, as this could have unexpected results. - Check that there is a line that includes the full chain that is giving the issues.
- Check the Relations path with the Debug tools found in https://community.dataminer.services/documentation/protocol-debug-tools/
This will probably only be useful if the number of relations is limited.
- Check that the chain is in the correct direction (right = lowest level)
- Comment out any special options in the treecontrol in the protocol to rule out a bug in one of these.
- If none of the previous steps solved the issue, create an extra treecontrol, with only one level.
Check that the alarm color is correct.
Keep adding new levels until the color is no longer correct.
In case a particular table is causing the issue, this will now become apparent.
In case you found such a table, look at the foreign key relations of the table.
In case the foreign key is pointing to the same table (recursion), the issue could be in how Dataminer handles the recursion.
By default Dataminer supports recursion in the treecontrol, but it works in the same way as the Dynamic Table Filtering of CPE (https://wiki.skyline.be/wiki/Table_Filters), with the default option being : DownNoLocal.
At the moment no other options are supported, but there is a feature request to get those added.
Thanks a lot, Filiep, for the detailed response.
In the structure of my tables, I don’t have a defined FK between the child tables (Pids: 3200, 3400, 3600, 3800) and the Links table (Pid: 4150) as they are mapped depending on the “filter” and the FK of the parent table.
However, I have the FKs between the child tables and the Parent table (Pid: 4000).
So, the following are my defined FKs:
– 4150 -> 4000
– 3200 -> 4000
– 3400 -> 4000
– 3600 -> 4000
– 3800 -> 4000
As can be seen from the screenshot in the question, the tree gets built correctly and all relations are found accordingly. It seems that the alarms are propagating to the upper level; However, they are not showing the colours on the Links blobs!