How to use ETL Plugin for transformation onto cmdb_sam_sw_install table without hardware reference

Morgan Castle
Kilo Contributor

I am trying to use the ETL Plugin to transform software assets from an API Data Source onto the Software Installations table [cmdb_sam_sw_install]. However, when I add the Software Installations table to transform I am receiving a message that says I need to add an Associated class and choose an CMDB specific one. When I click that I am only the option to add the Computer [cmdb_ci_computer] table as it rather than the Software Packages [cmdb_ci_spkg] which I wanted to use since currently I am only implementing the software assets and I am not aware of what computer they are installed on at this time. Is it possible to use a different cmdb table or a workaround for me only to get the software assets in the cmdb_sam_sw_install table without referencing a computer/adding records to the cmdb_ci_computer table? 

1 REPLY 1

Mike Marson
ServiceNow Employee
ServiceNow Employee

@Morgan Castle ,

cmdb_sam_sw_install contains a field "Installed On" which is a reference to cmdb_ci_hardware.  Thus, you need the reference to a computer (or at least a hardware CI) in order to create the software install record.   As cmdb_ci_spkg does not descend from cmdb_ci_hardware, you cannot use a software reference for this field.  The intent of cmdb_sam_sw_install is to represent the installation of a single piece of software on a single hardware CI.  Therefore, software installs need to exist within the context of a hardware device upon which they are installed.

Further, cmdb_sam_sw_install is essentially a replacement for cmdb_ci_spkg/cmdb_software_instance when SAM is installed on an instance.  You would typically populate software data into one or the other, but not both. This is how Service Graph Connectors behave.  By default, neither cmdb_sam_sw_install nor cmdb_ci_spkg have references to each other.

Regards,

Mike