SAMP | Custom Software Products created for Software Products that already exist in the Software Asset Management Content LibraryIssue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Custom Software Product [samp_custom_sw_product] records have been created for software products that already exist in the Software Asset Management Content Library. Symptoms<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Depending on when these were created and how they were used, any of the below symptoms can be true where the Custom Software Product is being referenced instead of the software product already existing in the Software Asset Management Content Library on the below record types. Software EntitlementsSoftware InstallationsSoftware ModelsReconciliation → Software Model ResultsReconciliation → Product ResultsSoftware UsageSoftware Reclamation Candidates Facts<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Custom software products are meant to be created for any publicly available software product that does not exist in the Software Asset Management Content Library. Custom software products enable you to normalize and account for software products that aren’t part of the Content Library yet.When content sharing is opted into, the Software Asset Management application submits content requests for your custom software products.When your custom software product is added as a software product in the Content Library, a Custom Software Product Suggestion record is created.Product suggestions enable you to consolidate your custom software products with corresponding software products in the Content Library.Consolidating these software products updates all references to your custom software products with references to the software products in the Content Library. When a Custom software product is created for software product that already exists in the Content Library, then no Product Suggestion record will be created and the Software Asset Management application continues to use the custom software product. Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } All Releases Cause<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Custom Software Product [samp_custom_sw_product] records were created by Users. Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } A Custom Software Product Suggestion won't be created since these software product already exists in the Content Library, however the below background script can be used to manually create a Product Suggestion that can be Accepted to consolidate and update all the references to the custom software product with the software product from the Content Library. Prerequisites Before you can run the background script, you'll need these values from the Custom Software Product and the Content Library Software Product to plugin to the script. I. The Custom Software Product's Name. II. The Custom Software Product's Publisher's Name. Note, Custom software product's have two Publisher fields, Publisher (manufacturer) and Publisher (publisher).Publisher (manufacturer) references a record on the core_company table.Publisher (publisher) references a record on the samp_sw_publisher table.If you find the Publisher field you're looking at is empty, check the other Publisher field through Show XML on the record or add both Publisher fields to list view. III. The Content Library Software Product's Sys ID. Content Library software products are located on the samp_sw_product table. Procedure 1. Follow the steps in the below background script to set the Custom software product's name, Custom software product's publisher's name, and the Content Library software product's Sys ID parameters and then run the script. // Background Script to Create a SW Product Suggestion record. // /* Parameter 1: The Name of the Publisher on the Custom Software Product Parameter 2: The Name of the Custom Software Product Parameter 3: The Sys ID of the Content Library Software Product that will be "Suggested" */ // 1. Set the Name of the Publisher on the Custom SW Product var customSwProdPubName = "<custom sw product publisher name here>"; // 2. Set the Name of Custom SW Product var customSwProdName = "<custom sw product name here>"; // 3. Set the Sys ID of the Content Library SW Product var contentSwProdSysId = "<content library sw product sysID here>"; // 4. Click [Run Script] in 'global' scope var suggMapGr = {publisher_name: customSwProdPubName, product_name:customSwProdName,suggested_product: contentSwProdSysId}; process(suggMapGr); function process(suggMapGr) { gs.print(suggMapGr.publisher_name); gs.print(suggMapGr.product_name); gs.print(suggMapGr.suggested_product); var encQ = "active=true^status=none^prod_name=" + suggMapGr.product_name + "^publisher.name=" + suggMapGr.publisher_name + "^ORmanufacturer.name=" + suggMapGr.publisher_name; var prodGr = new GlideRecord(SampCustomSoftwareProductSuggestionHandler.CUSTOM_PRODUCT); prodGr.addEncodedQuery(encQ); prodGr.query(); if (!prodGr.next()) { gs.print("No Custom SW Product Found"); return; } // check existing suggestion gs.print("Checkig for existing Suggestion"); var suggGr = new GlideRecord(SampCustomSoftwareProductSuggestionHandler.CUSTOM_PRODUCT_SUGG); suggGr.addQuery('custom_product', prodGr.getUniqueValue()); suggGr.query(); if (suggGr.hasNext()) { gs.print("Existing Suggestion"); return; } // suggested product var suggProd = new GlideRecord('samp_sw_product'); suggProd.get(suggMapGr.suggested_product); gs.print("Suggested Product - " + suggProd); // insert suggestion suggGr = new GlideRecord(SampCustomSoftwareProductSuggestionHandler.CUSTOM_PRODUCT_SUGG); suggGr.setValue('custom_product', prodGr.getUniqueValue()); suggGr.setValue('custom_publisher', prodGr.getValue('publisher')); suggGr.setValue('custom_product_type', prodGr.getValue('product_type')); suggGr.setValue('custom_function_type', prodGr.getValue('function_type')); suggGr.setValue('custom_subscription_software', prodGr.getValue('subscription_software')); suggGr.setValue('suggested_product', suggProd.getUniqueValue()); suggGr.setValue('suggested_publisher', suggProd.getValue('publisher')); suggGr.setValue('suggested_product_type', suggProd.getValue('product_type')); suggGr.setValue('suggested_function_type', suggProd.getValue('function_type')); suggGr.setValue('suggested_subscription_software', suggProd.getValue('subscription_software')); suggGr.setValue('status', 'new'); suggGr.insert(); } 2. After running the background script, go to the Custom Software Product Suggestion [samp_custom_sw_product_suggestion] table and open the suggestion record that was just created. 3. Confirm the Custom Software Product and the content library Software Product on the Suggestion record look correct. 4. Click the 'Accept' suggestion button. All references to the custom software product will be updated with references to the corresponding software product in the Content Library and the custom software product will be set to Active = false. Related Links<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } ServiceNow Product Documentation Add custom software products in Workspace View custom software product suggestions in workspace