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.

How to set requested for in RITM using Cart APi is it possible?

Gowtham Kodali
Tera Contributor

I am using Cart api to set Requested_for field for different users,but still the requested for is showing my name only

is there any way to set the requested_for by using Cart API

1 ACCEPTED SOLUTION

Ankur Bawiskar
Tera Patron
Tera Patron

@Gowtham Kodali 

Unfortunately you cannot set any fields of REQ or RITM using Cart API

the only way is to get the REQ sys_id and then set the value

sample script below

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('4054428fdb151f0097679ec6db9619c0', 1);

//fill in the variables on the request item form
cart.setVariable(item,"u_requested_for", "e80edd6edbec6bc097275e25ca9619a4");
cart.setVariable(item,"contact_number", "0");
cart.setVariable(item,"assignment_group", "87ec1c342b2e71406c487fb5a8da1524");
cart.setVariable(item,"application_service", "cdedfbcedb0f9744c291c170ba9619a7");

var rc = cart.placeOrder();

var reqRecord = new GlideRecord('sc_request');

reqRecord.get(rc.sys_id);

reqRecord.requested_for = 'user sys_id you want here';

reqRecord.update();

Regards
Ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

View solution in original post

16 REPLIES 16

asifnoor
Kilo Patron

can you share the script where you are setting the requested_for field.

Gowtham Kodali
Tera Contributor

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(‘item sysid’, 1);

 

cart.setVariable(item,"u_requested_for", "sys_id of user whom I wanted to be requested for");

cart.setVariable(item,"contact_number", "0");

 

but still it is setting me as requested for  Is there any option 

 

 

I am running through the Back ground script  request,ritm is creating with my name

Ankur Bawiskar
Tera Patron
Tera Patron

@Gowtham Kodali 

Unfortunately you cannot set any fields of REQ or RITM using Cart API

the only way is to get the REQ sys_id and then set the value

sample script below

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('4054428fdb151f0097679ec6db9619c0', 1);

//fill in the variables on the request item form
cart.setVariable(item,"u_requested_for", "e80edd6edbec6bc097275e25ca9619a4");
cart.setVariable(item,"contact_number", "0");
cart.setVariable(item,"assignment_group", "87ec1c342b2e71406c487fb5a8da1524");
cart.setVariable(item,"application_service", "cdedfbcedb0f9744c291c170ba9619a7");

var rc = cart.placeOrder();

var reqRecord = new GlideRecord('sc_request');

reqRecord.get(rc.sys_id);

reqRecord.requested_for = 'user sys_id you want here';

reqRecord.update();

Regards
Ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

Hi Ankur,

 

I am trying the same thing. It is mapping everything correctly but date fields are getting populated with current date. Is there a reason for that ?