The CreatorCon Call for Content is officially open! Get started here.

Business Service cmdb_ci_service, limit/hide some classes

siais
Giga Contributor

Business Service cmdb_ci_service, is there a way to limit the number of classes this table show? We want to temporarily hide Application service and Technical Service records in this table and only show Business service class records in this table.

1 ACCEPTED SOLUTION

@siais  I would concur with @Sajilal and use Before Query Business Rule over an ACL to go with the less complex solution.

A BR will only apply to the table it is built where as ACL are evaluated for any rule on the table being accessed as well as any ACL on any of the parentage of the table so the ACL on Service will still apply the same restrictions to tables extended from it.

But using either solution you will need to set conditions based on the record's attributes. Unfortunately I'm a process guy, not a developer so I can't help you with that code. While I have not tried to accomplish exactly what you are doing, I'm confident it is possible.

You will need to experiment with something like a Where Class is ... or Where Class is not ... condition.

If you share a screenshot of what you have tried so far I'm sure the community can help you troubleshoot further.

View solution in original post

7 REPLIES 7

Thank you Aaron & Sajilal. BR worked for us.

Ahmed Drar
Tera Guru

I agree 100% with @Aaron W. Smith, especially in the order of the offered solutions .so first challenge the value of the requirement, if it is a must-be requirement then go with training/applying filter, and let the ACL and Query business rule be last resort.

Barry Kant
ServiceNow Employee
ServiceNow Employee

Hi Siais,

I agree that it needs to be filtered, and it needs to be consistent.

If you check the navigation there are about 5 Business Service(s) links in the navigation, and they are not the same:

Links:
CSDM > Business Service: Showing all records classified as 'Business Service in the cmdb_ci_service table. (--> this should be filtered to class=Service OR class= Business Service

Cost > Business Services: Showing all in the cmdb_ci_service table.

Financial Charging: similar as Cost

Digital Portfolio Management > All Business Services: Showing all records in Business Service table (cmdb_ci_service_business). This is ok (future wise) , but legacy will have service still in cmdb_ci_service table.

Service Portfolio Management > Business Services: Showing all records in Business Service table (cmdb_ci_service_business) where state = published OR empty


_____________________________________________________________________________________

Another 'issue':
in eg incidents Service field you can also select all records in the service table (cmdb_ci_service) except service_offerings. Also this needs to be filtered to:
Service OR Business Service OR Technical Service

OR

you need to select the Service Offering first and inherit the Service as parent from the Service Offering.

Cheers,

Barry