SG-SCCM Not Updating Records

syed_but_not
Tera Expert

Hi, we recently configured our SG-SCCM integration and modified the OOB SQL statement to pull Warranty Expiration for our Dell assets. The issue is that the integration is not updating CMDB_CI_Computer records to include this new information, I've been trying to dig into how the IRE works and determines how to update records but am honestly lost. How can I get our integration to update records as we pull new Warranty expirations?

3 REPLIES 3

AJ-TechTrek
Giga Sage
Giga Sage

Hi Syed,

 

Please check the data in staging table 1st as you modified the SQL script so please verify is that data is fetching by SCCM using that script in staging table.

 

If yes, then you need to modify the mapping using the ETL-hub.

 

below links will help you in this.

 

https://www.youtube.com/watch?v=YvsCY0M7JLw

 

https://docs.servicenow.com/bundle/washingtondc-servicenow-platform/page/product/configuration-manag...

 

https://docs.servicenow.com/bundle/tokyo-application-development/page/administer/integrationhub/task...

 

Please appreciate the efforts of community contributors by marking appropriate response as Mark my Answer Helpful or Accept Solution this may help other community users to follow correct solution in future.

 

Thanks

AJ

Linkedin Profile:- https://www.linkedin.com/in/ajay-kumar-66a91385/

ServiceNow Community Rising Star 2024

How to use ServiceNow's IntegrationHub ETL application to import configuration items from a third-party source into your CMDB. Applies to UI16, the latest version of the user interface, in the Orlando release. May apply to future releases as well. UI16 is the default user interface for new ...

Hi, this is not the issue I'm having, I have already confirmed we are ingesting the information correctly and mapped the field in the ETL. The issue that our records are not updating after being ingested the first time.

Hi @syed_but_not 

 

The SCCM integration uses CI identification to update CIs created from data imported from SCCM with a resource ID. The Hardware Rule identifier returns the resource ID of a computer from SCCM and stores it in the Source [sys_object_source] table. When resource IDs are first imported, either from SCCM or Discovery, the [sys_object_source] table is populated with IDs for each CI it identifies. In subsequent imports, if an incoming ID matches that of an existing CI, IRE (Identification and Reconciliation Engine) updates the information for that CI in the CMDB. If the incoming resource ID does not match that of an existing CI, IRE creates a new CI and populates it with the resource ID.

What you will need to do is modify your cmdb identifiers for the hardware classes (in your case the cmdb_ci_computer class). Ootb these are set to first check for the correlation_id. Deactivate that first identifier action and it will start with the next one (which is the serial_number(s) check). You should be fine after that adjustment. (Link to the documentation: https://docs.servicenow.com/bundle/orlando-servicenow-platform/page/product/configuration-management...)

Two answer your question: Since the correlation_id is set to any customer related value it is indeed possible that two systems fill this value with arbitrary values which by chance match. This is also the reason why i dislike using this identifier for hardware (as the serial numbers should be accurate). In return this also makes it possible, although highly unlikely, to result in your case.

 

Also check this - DiscoveryCMDBUtil.useCMDBIdentifiers() is set to false.

 

Please appreciate the efforts of community contributors by marking appropriate response as Mark my Answer Helpful or Accept Solution this may help other community users to follow correct solution in future.

 

Thanks

AJ

Linkedin Profile:- https://www.linkedin.com/in/ajay-kumar-66a91385/

ServiceNow Community Rising Star 2024