I'd like to ask for some verification on how Traps work before writing code to keep the Nodes.NodeID and Trap.NodeID fields in synch.
It appears that the Trap.NodeID field has a value of 0 and is not updated to match the Nodes.NodeID field when the device is discovered (or re-added) AFTER traps have been received for that device (IP).
The impact is that any reports that have JOINs with Trap table have gaps, for example trying to associate Traps with Nodes.Caption or Nodes custom properties.
I can understand that a Trap.NodeID value would not not exist when there is no corresponding Nodes.NodeID value but it seems that the application should keep these in synch or alternatively auto-add a Nodes record if a trap is received from an unknown device.