Software Asset Workspace - Content Lookup - Software PPNs not displayed when filtering by Publisher using contains or starts with<!-- /*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: ; } } .kb-wrapper { font-family: Lato, sans-serif; font-size: 12pt; line-height: 1.7; color: #000000; max-width: 100%; } .kb-wrapper h2 { font-family: Lato, sans-serif; font-size: 14pt; font-weight: 900; color: #032D42; border-bottom: 2px solid #e8fce4; padding-bottom: 4px; margin-top: 24px; margin-bottom: 10px; } .kb-wrapper p { font-family: Lato, sans-serif; font-size: 12pt; margin: 8px 0; } .kb-wrapper ul, .kb-wrapper ol { font-family: Lato, sans-serif; font-size: 12pt; margin: 8px 0 8px 0; padding-left: 24px; } .kb-wrapper ul li, .kb-wrapper ol li { margin-bottom: 4px; } /* Numbered steps */ .kb-wrapper ol.steps { list-style: none; counter-reset: step-counter; padding-left: 0; } .kb-wrapper ol.steps > li { counter-increment: step-counter; display: flex; align-items: flex-start; gap: 14px; margin-bottom: 12px; } .kb-wrapper ol.steps > li::before { content: counter(step-counter); display: flex; align-items: center; justify-content: center; min-width: 28px; height: 28px; background-color: #032D42; color: #63DF4E; font-family: Lato, sans-serif; font-size: 11pt; font-weight: 900; border-radius: 50%; flex-shrink: 0; margin-top: 2px; } .kb-wrapper ol.steps > li .step-content { flex: 1; } .kb-wrapper ol.steps > li .step-content ul { margin-top: 6px; } /* Inline code */ .kb-wrapper code { font-family: "Courier New", Courier, monospace; font-size: 10.5pt; background: #e6f0f5; color: #032D42; border: 1px solid #b8cfd8; border-radius: 3px; padding: 1px 5px; } /* Callout - Note */ .kb-wrapper .callout-note { border-left: 4px solid #52B8FF; background: #e6f4ff; padding: 10px 14px; margin: 14px 0; border-radius: 2px; } .kb-wrapper .callout-note p { margin: 0; } /* Callout - Warning */ .kb-wrapper .callout-warning { border-left: 4px solid #e6a817; background: #fff4e0; padding: 10px 14px; margin: 14px 0; border-radius: 2px; } .kb-wrapper .callout-warning p { margin: 0; } /* Table */ .kb-wrapper table { width: 100%; border-collapse: collapse; font-family: Lato, sans-serif; font-size: 12pt; margin: 12px 0; } .kb-wrapper table th { background-color: #032D42; color: #ffffff; padding: 8px 12px; text-align: left; font-weight: 700; } .kb-wrapper table td { padding: 7px 12px; border-bottom: 1px solid #d0dde3; vertical-align: top; } .kb-wrapper table tr:nth-child(even) td { background-color: #e8fce4; } /* Related links */ .kb-wrapper .related-links a { color: #032D42; font-size: 12pt; } .kb-wrapper .related-links .link-disclaimer { font-size: 10pt; font-style: italic; margin: 0 0 8px 0; color: #444; } Issue In the Software Asset Workspace, the Content Lookup tool does not return Software Product Part Numbers (PPNs) when filtering the Publisher field using contains or starts with operators. Symptoms Navigating to Software Asset Workspace > Content Lookup and searching for software PPNs returns no results when filtering the Publisher field with contains or starts with.The following error appears in App Node logs: Part of the query on samp_sw_product_definition has been ignored because of insufficient access for 'query_range' on samp_sw_product_definition.entitlement_definition.The Access Analyzer confirms that the user is blocked by query_range ACLs on the samp_sw_product_definition table.No query_range ACL rules exist for samp_sw_product_definition or samp_sw_product_definition.* on the instance. Facts Applies to the Software Asset Workspace Content Lookup feature.The affected table is samp_sw_product_definition.The issue is caused by missing query_range ACL rules for the table and its dot-walked fields (samp_sw_product_definition.*).This condition can occur on instances where the required query_range ACLs were not generated automatically, such as after a new plugin or Store App installation, or following an upgrade where the write-audit process did not create the rules for this table.On instances where the ACLs were previously auto-generated, the rules carry the following attributes: Decision Type: Allow IfAdmin Overrides: falseConditions: UserIsAuthenticated is true AND HasRightsToReadIsTrue is true (via the UserIsAuthenticatedAndHasRightsToRead security attribute), scoped to users with the public role Release Xanadu, Yokohama, Zurich Cause The query_range ACL rules for the samp_sw_product_definition table and its dot-walked field references (samp_sw_product_definition.*) are absent from the instance. When these ACLs are missing, the platform's access control evaluation drops parts of the query that reference dot-walked fields — such as the entitlement_definition reference — resulting in the Publisher filter returning no matches and the error being logged in App Node logs. Resolution Create the missing query_range ACL rules for the samp_sw_product_definition table. Two rules are required: one for the table itself and one for its dot-walked fields. Note: Verify that these ACL rules do not already exist on the instance before proceeding. Navigate to System Security > Access Control (ACL) and filter by Type = query_range and Name = samp_sw_product_definition. To create the ACL rules, navigate to System Security > Access Control (ACL) and create two new records using the attributes below. Rule 1 — Table-level query_range ACL FieldValueTypequery_rangeNamesamp_sw_product_definitionDecision TypeAllow IfAdmin OverridesfalseRolespublicSecurity AttributeUserIsAuthenticatedAndHasRightsToRead Rule 2 — Dot-walked fields query_range ACL FieldValueTypequery_rangeNamesamp_sw_product_definition.*Decision TypeAllow IfAdmin OverridesfalseRolespublicSecurity AttributeUserIsAuthenticatedAndHasRightsToRead Important: The UserIsAuthenticatedAndHasRightsToRead security attribute evaluates two conditions: UserIsAuthenticated is true AND HasRightsToReadIsTrue is true. Confirm that this security attribute is available on the instance before saving the ACL records. Navigate to System Security > Access Control (ACL) and click New. Set Type to query_range and enter samp_sw_product_definition in the Name field. Set Decision Type to Allow If and ensure Admin Overrides is set to false. In the Roles related list, add the public role. In the Security Attribute field, select UserIsAuthenticatedAndHasRightsToRead. Click Submit to save Rule 1. Repeat steps 1–6 for Rule 2, entering samp_sw_product_definition.* as the Name. Once both rules are saved, return to Software Asset Workspace > Content Lookup and verify that filtering the Publisher field with contains or starts with now returns PPN results as expected. Related Links Create query range ACLs — ServiceNow Documentation Software Asset Management — Content Lookup