Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Get RITM number from catalog item created in workflow

othomas1
Kilo Guru

Hello everyone, hope all is well,

I need to know how i can get the RITM number from a catalog item created in my workflow. I have a catalog item workflow, and towards the end of that workflow i am launching another catalog item. I need the RITM number from the newly launched catalog item to be in the work notes of the original catalog item, i believe this is possible i just dont know the correct syntax to use. Can anyone point me in the right direction?

Run script for logging to work notes:

current.work_notes = 'Work at Home Hardware Request has been created';

 

//var ritm = new GlideRecord('sc_req_item');
//ritm.addQuery('request');

find_real_file.png

1 ACCEPTED SOLUTION

So your scripts should be:

var cartId = GlideGuid.generate(null);
var cart = new Cart(cartId);
//add your requested item to the cart by sys_id of the catalog item
var item = cart.addItem('e66cb93a4f236f00259db3318110c76e', 1);

//fill in the variables on the request item form
cart.setVariable(item, 'requested_for', current.request.requested_for);
cart.setVariable(item, 'opened_by', current.request.opened_by);
cart.setVariable(item, 'work_at_home_coordinator', current.request.opened_by);
cart.setVariable(item, 'requested_for_supervisor', current.request.requested_for.manager);
var rc = cart.placeOrder();

workflow.scratchpad.request_number = rc.sys_id; //so it can be referenced later 

and

var ritm = new GlideRecord('sc_req_item');
ritm.addQuery('request', workflow.scratchpad.request_number);
ritm.query();
if (ritm.next()) {
    // access to ritm here
    current.work_notes = 'Work at Home Hardware Request has been created:' + ritm.number;
}

View solution in original post

19 REPLIES 19

If you add this in your generation script:

var cartId = GlideGuid.generate(null);
var cart = new Cart(cartId);
//add your requested item to the cart by sys_id of the catalog item
var item = cart.addItem('e66cb93a4f236f00259db3318110c76e', 1);

//fill in the variables on the request item form
cart.setVariable(item, 'requested_for', current.request.requested_for);
cart.setVariable(item, 'opened_by', current.request.opened_by);
cart.setVariable(item, 'work_at_home_coordinator', current.request.opened_by);
cart.setVariable(item, 'requested_for_supervisor', current.request.requested_for.manager);
var rc = cart.placeOrder();

workflow.scratchpad.request_number = rc; //so it can be referenced later 

You should be able to reference it in a later activity by doing:

var ritm = new GlideRecord('sc_req_item');
ritm.addQuery('request', workflow.scratchpad.request_number);
ritm.query();
if(ritm.next()) {
   // access to ritm here
} 

Please mark my answer as helpful/correct if it resolved your issue!

For some reason, its giving me the REQ# instead of the RITM#

What is? RC? 

yep, its returning the request number instead of the RITM number

 

find_real_file.png

Can you post the code that is writing that note? You should be using ritm.number to get the ritm number.