SGUtils standard update procedure STEP 1 - Get the device ID DeviceSearchManager searchMgr = session.getDeviceSearchManager(); //com.supportsoft.encore.inventory.ejb.devicemanager SearchPatternValidator serPatVal = new SearchPatternValidator( 0, false, new SearchByType("statically_assigned_ip", true), new SearchByType("statically_assigned_ip", true), new SearchPattern(ipAddr) ); SearchResult searRes = searchMgr.executeDeviceSearch(serPatVal); //Get the device ID form the result STEP 2 - Get the device DTO by ID DeviceManager devMgr = session.getDeviceManager(); //com.supportsoft.encore.inventory.ejb.devicemanager DeviceDTO dev = devMgr.getByID( devID ); STEP 3 - Change the attributes of the device //Remove: dev.removeAttribute( parameterName ); //Update: dev.setAttributeValue( parameterName, newValue ); //Add ArrayList attrList = session.getBaseAttributeList(); //com.supportsoft.encore.system.ejb.attributemanager for ( c = 0; c < attrList.size(); c++ ) { if ( StringUtility.compareIgnoreCaseStringSecure ( attrList.get(c).getName(), parameterName ) ) { AttribDefInfo defInfo = new AttribDefInfo ( attrList.get(c), session.getBaseAttributeGroup(), attrTypeDTO ); AttributeInfo attrInfo = new AttributeInfo ( defInfo, 0, newValue ); devDTO.addAttribute( attrInfo ); break; } } STEP 4 - Save the device DTO with the new parameters DeviceManager devMgr = session.getDeviceManager(); //com.supportsoft.encore.inventory.ejb.devicemanager devMgr.set(dev); STEP 5 - Update the service list DeviceManager devMgr = session.getDeviceManager(); //com.supportsoft.encore.inventory.ejb.devicemanager ServiceManager srvMgr = session.getServiceManager(); //com.supportsoft.encore.inventory.ejb.servicemanager ArrayList arrDTO = srvMgr.getAll(); //[...] Remove from arrDTO the unwanted services devMgr.removeServiceXRef( devID ); devMgr.setServiceXRef( devID, arrDTO );