REQ approvals not RITM approvals

sam28
Tera Contributor

Can anyone clarify the following please: 

I have created an Order Guide for new joiners that contains 6 catalog items.  I need to generate a single approval at the REQ level rather than generate 6 approvals at the RITM level.  

My approval engines settings for sc_req states: Workflows are managing approvals on this table. I have disabled the default 'Service Catalog Request' workflow (the one which auto approves if the req is <$1000) and have checked for any other workflows on the sc_req table and can find none. 

The option to change workflow engine settings is greyed out.  I have read that if there are no workflows on the table, then Approval Rules should apply to the REQ.  There seems to be the same default Approval Rule set (<$1000 then set to approve) but when I deactivate the default workflow (<$1000 then auto approve) the Approval rule doesn't run and I get a message to say the rule won't run because Approval Engines aren't configured on sc_req table. 

I'm finding this functionality very confusing and simply want to generate a single REQ level approval for an Order Guide that contains multiple items so that the RC manager can approve, then the RITM's can move to fulfillment.  

Can anyone help with this? 

6 REPLIES 6

Willem
Giga Sage
Giga Sage

Have you published the inactive workflow?

That should allow you to change the approval engine. Also check the 'notes'-column for additional information.

 

From the docs:

If the Approval Engine option is greyed out and shows Turn engines off, read the Notes in the same row. The most common reason an approval engine is turned off is that a workflow is managing the approvals on the table. Having the approval engine turned off prevents conflicts with the workflow that could cause a range of issues. If you want to use an approval engine on the table, set the workflow to inactive. 

Reference:https://docs.servicenow.com/bundle/paris-servicenow-platform/page/administer/service-administration/...

Tom Sienkiewicz
Mega Sage

I would try to find a way without changing the approval engine for the Request table if possible. You never know in which update it would break ;).

Perhaps instead of removing the Workflow completely, you can just add a condition to check if your Request was created from the specific Order Guide and if yes, request an approval? The Order Guide field on sc_req_item would normally store which Order Guide it came from.

Then of course for the contained items, any WF you add would not have any approval steps. Requested Items will only be activated after the parent Request has been approved.

sam28
Tera Contributor

Thanks for the replies.  I have found a solution to generating the REQ level approval, but need the trigger condition to be based on either the Order Guide name or Request contains x item..

Do you know how i access the Order Guide field at the REQ level?  I cant set the trigger condition as Order Guide name as this is on the sc_req_item table and not sc_req table.. 

I am extremely limited in my knowledge of scripting if that is what's required to do it!

I think a little scripting would probably be required to get this info on the REQ level.

You would have to use a GlideRecord to check for RITMS existing under the current REQ, with an additional .addQuery parameter that the Order Guide field contains your OG. If at least one such RITM exists (.hasNext() returns true), we know the REQ comes from that OG and the entire script can then evalueate to true (return true value).

If you could post how you are managing the workflow/approval on REQ level, it will be easier to give you some more specifics.