1 of 1 people found this helpful
You need to make sure the right mapping variables are present, and access them in the correct scopes. Something like this:
At the start import Host_ComputerSystem so you can refer to it:
from CMDB.SoftwareInstance_SoftwareServer import SoftwareInstance_SoftwareServer 4.3;
from CMDB.Host_ComputerSystem import Host_ComputerSystem 2.4;
then (skipping the syncmapping header etc., to keep it short):
mapping from SoftwareInstance_SoftwareServer.softwareinstance as softwareinstance
// No additional structure -- we are just modifying the existing SoftwareServer CI.
softwareserver := SoftwareInstance_SoftwareServer.softwareserver;
host := Host_ComputerSystem.host;
// Only try to set attributes if the softwareserver is defined.
// Second-order SoftwareInstance nodes are mapped to
// BMC_ApplicationSystem instead.
if softwareserver then
if not softwareserver.ManufacturerName then
// Use the OS vendor
softwareserver.ManufacturerName := host.os_vendor;
Thanks Duncan, works perfectly.