Software Component Model table

  • Release version: Zurich
  • Updated December 10, 2025
  • 2 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Software Component Model table

    The Software Component Model [cmdbsoftwarecomponentmodel] table is integral to various solutions on the ServiceNow Platform, storing component model records that are automatically created when a discovery model is normalized. This table extends from the System Component Model [cmdbswcomponentmodel] and is part of the Data Foundation Model (sncmdbfoundation) application.

    Show full answer Show less

    Key Features

    • Automatic record creation occurs when a discovery model is normalized with a version set.
    • A script utilizes the system property com.snc.sam.softwarecomponent.choice.versionlevel to define version granularity, with options including MAJOR, FULL, BOTH, and NONE. The default is BOTH.
    • Two records are generated if both FULL and MAJOR versions exist; only one if only the MAJOR version is present.
    • Manual creation of records is possible, with reference to the Software Product [sampswproduct] table available for users of the Software Asset Management Foundation plugin or Professional application.

    Key Outcomes

    Upon upgrading to the Zurich release, a scheduled job generates component model records for all existing normalized discovery models. Future normalization of discovery models triggers a business rule that automatically creates new software component model records. It’s important to note that changes to system properties affect only new models, and modifications to existing models do not trigger recreation.

    The Software Component Model [cmdb_software_component_model] table stores component model records that serves industries and use cases across different solutions on the ServiceNow Platform.

    Overview of Software Component Model table

    The Software Component Model table extends from the System Component Model [cmdb_sw_component_model] table that resides in the Data Foundation Model (sn_cmdb_foundation) application. The Software Component Model table can consist of various entities.

    A software component model record is automatically created whenever a discovery model meets either of the following conditions:
    • Is normalized with a normalized version set.
    • Is manually normalized with a normalized version set.
    A script runs to generate software component models from the normalized discovery models. This script uses the system property, com.snc.sam.software_component.choice.version_level, to determine the granularity of the normalized version. You can configure this system property to set the version level options, which include the following versions:
    • MAJOR
    • FULL
    • BOTH
    • NONE
    Note:
    The system property is configured to the BOTH version by default. You can modify this setting by selecting any of the other available options. When entering values, ensure they are in lowercase format. As an example, to set the system property to NONE, enter "none" in the value field.

    Two records are created in the Software Model Component table when a FULL version and a MAJOR version exist for the normalized discovery model. However, only one record is created if only the MAJOR version exists.

    You can also manually create a software component model record in the Software Component Model [cmdb_software_component_model] table. If you have the Software Asset Management Foundation plugin or the Software Asset Management Professional application while creating the record, you can reference the Software Product [samp_sw_product] table. If you are not using the Software Asset Management application, you need to type in the software product name.

    Upgrade information

    When you upgrade to Zurich release and later releases, the scheduled job, SAM - Generate software component model does a one time run to generate component model records for all existing normalized discovery models which are then stored in the Software Component Model table.

    After the upgrade, every time a new discovery model is normalized, the business rule, Create software component model that runs on the Software discovery model [cmdb_sam_sw_discovery_model] table gets triggered and automatically creates new software component model records for the new normalized discovery models.
    Note:
    The Software Discovery Model table is available if you have Software Asset Management Foundation plugin or the Software Asset Management Professional application running on your ServiceNow instance.

    Discovery model considerations

    The following are some considerations to keep in mind for discovery models:
    • System property changes: When a system property preference changes, the existing software component models retain their original settings. Only newly created version models adopt the updated system property.
    • Model deletion or modification: If you delete or modify a software component model, the system won't recreate it from the original discovery model.
    • Manual re-normalization: When a discovery model is manually normalized with new values, the existing software component model remains as is. The system creates a new software component model only if one does not already exist.