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

15 REPLIES 15

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 ?