How Data is populating in Service Configuration Item Association Table [svc_ci_assoc]?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-08-2022 06:26 AM
Hi,
Currently I can see , whenever Dynamic CI group is updated with its associated CIs , then the corresponding records are getting created into Service Configuration Item Association Table. I just want to understand the process or flow behind this how Data is populating in Service Configuration Item Association Table [svc_ci_assoc]?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-08-2022 07:22 AM
There are a few ways that this table is populated
Dynamic CI Groups
- Given that a Dynamic CI group contains multiple configuration items, when the group has updates this table will automatically be updated. The configuration item(s) will be in the Configuraiton Item field and the Service ID field will be the Dynamic CI Group
- If you were to use a Dynamic CI group on a change request in the Configuration Item field for instance, it would unpack all the CIs that have linkage on this table to the Service ID in question into the Affected CIs related list
Application Services - Manual population method (cmdb_ci_service_discovered)
- Assumption is that this Application Service has relationships to underlying configuration items
- There is a UI action under the related links that is called "Update with changes from CMDB" that if you click it, it will ask how many levels
- When this occurs, it will create manual endpoint record(s) and build out records both on the cmdb_rel_ci table as well as then populate svc_ci_assoc tables
- Below is my understanding of the high level process
Application Services - Dynamic population method (cmdb_ci_service_calculated)
- Assumption is that this Application Service has relationships to underlying configuration items
- Unlike above, there is no UI Action. Scripts run to automatically keep this in sync
Similar concepts would exist with Tag-Based, Service Mapping, etc.
This is my interpretation of the flow of records.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-09-2022 01:32 AM
Thanks ! for the Explantion. But I want to know where is that logic/script is written whenever Dynamic CI group is updated [svc_ci_assoc] this table will get automatically updated.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-09-2022 03:23 PM
As we faced some performance issues during the "Service Mapping Recomputation", and when converting a manual service to an Application Service (in Paris release), I have searched for some of the scripts used to populate the "Service configuration Item Associations" [svc_ci_assoc] table, as we were testing the calculation with different levels (to check if with less levels, the performance would be better).
We are currently in Rome release, and those operations are so much better now, but when I was testing some of the scripts, I have seen a lot of them use this ServiceNow API:
- API Reference: BusinessServiceManager
So, e.g., if you look at Business Rules and Script Includes, and search for the Script which contains "SNC.BusinessServiceManager", you will find some of those scripts. E.g.:
- Script Include "CIUtils" with the function "addServicesAssociatedByServiceMapping"
- Script Include "PopulateManualService" which initializes a "bsm" variable with the "SNC.BusinessServiceManager"
The logic for all those funcionalities is complex, so, I hope you are able to find what you are looking for.
Just for reference, some of the information about the Schedule Job for Recompute, synchronous population of the CI Association [svc_ci_assoc] table and others, I suggest you take a look at those below Articles:
- [Now Community Article] Application Services: What's new in Rome
- [Now Community Article] Application Services: How to use them?
In the second article in special, there is in the section "How to make sure that Service Configuration Item Associations are populated?", the information about one of the Application Service types available: "Dynamic CI Group [cmdb_ci_query_based_service] where CI Associations are automatically created based on the specified CMDB Group".
Best regards,
Vivi Brasil
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-05-2025 07:12 AM
late reply maybe helpful to someone.
There is a scheduled job "Service Mapping - sync svc_ci_assoc" that populates [svc_ci_assoc] table. Below articles references scheduled job
https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0955911