Script for setting approval from catalog item variable on REQ

Kifrez
Kilo Guru

Hi everyone,

How do you set approval in workflow?

I would like to set the approver to be from variable?
the catalog item variable is manager and value will be from manager field.

Thanks in advanced.

1 ACCEPTED SOLUTION

If this workflow is on request then you should query the RITM details and use them

somethink like this.

var answer=[];
var grScReqItem = new GlideRecord('sc_req_item');
grScReqItem.addEncodedQuery("request="+current.sys_id+"^cat_item=1391a4db070630100b36f6fd7c1ed0c2");//map you catalog item sysid here.
grScReqItem.query();
if (grScReqItem.next()) {

answer.push(grScReqItem.variables.manager.toString());
}
    

 

for below line you should modify the highlated part with the catalog item sysid you want to fetch manager details from.

grScReqItem.addEncodedQuery("request="+current.sys_id+"^cat_item=1391a4db070630100b36f6fd7c1ed0c2");

View solution in original post

20 REPLIES 20

If this workflow is on request then you should query the RITM details and use them

somethink like this.

var answer=[];
var grScReqItem = new GlideRecord('sc_req_item');
grScReqItem.addEncodedQuery("request="+current.sys_id+"^cat_item=1391a4db070630100b36f6fd7c1ed0c2");//map you catalog item sysid here.
grScReqItem.query();
if (grScReqItem.next()) {

answer.push(grScReqItem.variables.manager.toString());
}
    

 

for below line you should modify the highlated part with the catalog item sysid you want to fetch manager details from.

grScReqItem.addEncodedQuery("request="+current.sys_id+"^cat_item=1391a4db070630100b36f6fd7c1ed0c2");

Hi @Rohila Voona thanks that works with cat item sys id !! 🙂

Ankur Bawiskar
Tera Patron

Hi,

I assume your workflow is on RITM table

then this should work fine

Did you add logs what came in manager variable?

answer = [];

answer.push(current.variables.manager.toString());

Regards
Ankur

Hi @Ankur Bawiskar ,

No, this is on sc_request

This is a follow up after the If statement.

No , I did not.

variable name is manager and part of variable set = user_profile_set

manager is reference to sys_user table

I tried below but doesn't work

answer.push(current.variables.manager.toString());
OR
answer.push(gr.variables.manager.toString());
OR
answer.push(gr.variables.manager.getValue());

 

 

then query RITM

answer = [];
var gr = new GlideRecord("sc_req_item");
gr.addQuery("request", current.request);
gr.query();
if (gr.next()) {
	answer.push(gr.variables.manager.toString());
}

Regards
Ankur