Application Portfolio Management (APM) Implementation Simulator - REF QUALIFIER HELP NEEDED

Tom Ksandr
Giga Contributor

Hello all, I'm tasked with acquiring APM knowledge through now learning, and I can't help myself but see that I'm lacking some information and that there is some catch I'm not seeing because any solution to this requirement is not accepted by the lab.

PLEASE HELP - lab is providing me with a hint to documentation Did you update the reference qualifier on the Incident table for the Service field using the 'Class'... even if the solution is working, or not working... I'm desperate...

Requirement statement:

As an end user, I can only select an application service when associating a Service with an Incident.

Update the Service field on the Incident table to only allow selections of Application Service.

Acceptance Criteria:

I know this is completed when I can only select Application Service class records when using the Service field on the Incident form.

in previous lab this Application Service was created in following way:

Navigate to CSDM > Manage Technical Services > Application Service and create a new application service with the following information:

  • Name: ServiceNow HR - Test
  • Environment: Test
  • Set Relationships (Business Application Tab) select the ServiceNow HR Business Application.
  • Click next and complete the process with the following information:
  • Method: Dynamic CI Groups
  • Group Name: Application Service Managers.
  • Preview the Service and select Done.

Solutions I have tried that either were working, but were not accepted, or did not work at all:
I have tried to change dictionary entry on the task table on the service field from service(cmdb_ci_service) into application service (cmdb_ci_service_auto) -> and it worked - but was not accepted as solution as its on task table, not incident

I have tried modifying the dictionary overwrite with a help from my colleague on the incident in following below mentioned combinations -> none of these worked.

reference qualifier:
sys_class_name=cmdb_ci_query_based_service or -  sys_class_name=cmdb_ci_service_auto - or -  sys_class_name=cmdb_ci_service_calculated  - or - sys_class_name=csdm_app_services 
I have tried also this in combination with/without attributes - did not work

I have tried with the help of my colleague to insert script include - and it worked - but was not accepted as solution
incident dictionary override reference qualifier:
javascript:new AppSerRefQual().isChildOf("cmdb_ci_service_auto");

+ below script include

var AppSerRefQual = Class.create();
AppSerRefQual.prototype = {
initialize: function() {},
isChildOf: function(ciClass) {
var classNameArr = [];
var tableGR = new GlideRecord("sys_db_object");
tableGR.addQuery("sys_id", "IN", SNC.CMDBUtil.getAllChildrenOfAsCommaList(ciClass));
tableGR.query();
while (tableGR.next()) {
classNameArr.push(tableGR.getValue("name"));

}
return "sys_class_nameIN" + classNameArr.join(",");
},
type: 'AppSerRefQual'
};

3 REPLIES 3

Barry Kant
ServiceNow Employee
ServiceNow Employee

hi Tom,

the 2nd test should be close. Try:

sys_class_name=cmdb_ci_query_based_service || sys_class_name=cmdb_ci_service_auto || sys_class_name=cmdb_ci_service_calculated || sys_class_name=cmdb_ci_service_mapped || sys_class_name=csdm_app_services 

 

csdm_app_services is not a class so should be in there. In my opinion cmdb_ci_query_based shouldn't be in as well. 

Not sure if you move to a CSDM way of model, in that case I would register the app service data in the Configuration Item field and not in the Service field. Concept wise the end user tickets are registered on Service Offerings and supported by Application Service ( --> so the Configuration Item ). The Service Offering includes the Service Commitments. In that scenario the Service is the parent of the Service Offering.

The above will work but is probably not what you are looking for in the future.

BR,

Barry

Alex Valis
ServiceNow Employee
ServiceNow Employee

You are required to add the 'Class' condition and select 'Application Service'. Hope that helps.

 

2023-12-07 19_06_03-Clipboard.png

This is the actual answer. This lab doesn't use best practice in relation to the platform here.