I'm designing an IT Service Catalog using JSM Assets and I've run into a hard limit with AQL cascading logic on the Customer Portal.
I want users to select multiple Sub Categories (Systems) and then have the Request Type field only show the options that are common (the exact intersection) across ALL selected Sub Categories.
My current CMDB Schema:
I have 4 standard Object Types that just act as generic lists (No direct references between them):
Service Catalog (e.g., Software, Hardware)
Sub Category (System names e.g., Jira, ERP)
Request Type (Generic actions e.g., "Report Bug", "Request Access")
Service Item (Specific tasks)
The Mapping Object:
I have a 5th Object Type called IT Service Catalog.
Every single record (object) in this table contains exact 1-to-1-to-1-to-1 mapping references to the 4 objects above. This defines valid combinations. (e.g., Record 1: Software + Jira + Request Access + Grant Admin)
My Custom Fields (Type = Assets object field) on the Portal:
Service Catalog (Single-select)
Sub Category (Multi-select) - AQL Filter: "Service Catalog is Asset object field" = ${Service Catalog}
Request Type (Single-select)
The Problem:
Because customfield (Sub Category) is a multi-select array
If a user selects System A (has "Report Bug", "Request Access") and System B (only has "Report Bug"), the Request Type dropdown will show BOTH "Report Bug" and "Request Access".
I need it to act as ONLY shows "Report Bug" (the intersection).
My question:
Is there any Native AQL syntax, or a CMDB structural workaround utilizing this Mapping Table approach, to achieve a strict intersection dynamically on the Customer Portal