- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-05-2016 06:39 PM
Hi all,
I'm having trouble populating variables of RITMs created from the cart api. My code is below, any suggestions or hints are greatly appreciated. Thanks again,
createRequest();
function createRequest() {
var cat_id='';
if(email.body.item != undefined && email.body.item!='') {
var item=email.body.item.trim();
var gr= new GlideRecord('sc_cat_item');
gr.get('name',item);
cat_id=gr.getValue('sys_id');
var cart = new Cart();
cart.addItem(cat_id);
var user = new GlideRecord('sys_user');
cart.get(gr.getValue('requested_for'));
// set requested for, substitute your requested for
//Set Variables in your Cart Item
cart.setVariable(item, 'requested_for', 'sys_user');
cart.setVariable(item, 'request_short_description', email.subject.toString());
cart.setVariable(item, 'requested_for_department', 'user.department');
cart.setVariable(item, 'requested_for_username', 'user.user_name');
cart.setVariable(item, 'requested_for_phone', 'user.phone');
cart.setVariable(item, 'requested_for_budgetcode', 'user.cost_center');
cart.setVariable(item, 'requested_for_company', 'user.company');
var cartmsg = "received from: " + email.origemail + "\n\n" + email.body_text;
cart.setVariable(item,'comments',cartmsg);
var rc = cart.placeOrder();
}
}
Solved! Go to Solution.
- Labels:
-
Scripting and Coding

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-05-2016 07:10 PM
Here is your code. copy it as is
createRequest();
function createRequest() {
var cat_id='';
if(email.body.item != undefined && email.body.item!='') {
var cat_item=email.body.item.trim();
var gr= new GlideRecord('sc_cat_item');
gr.get('name',cat_item);
cat_id=gr.getValue('sys_id');
var cart = new Cart();
var item=cart.addItem(cat_id);
var user = new GlideRecord('sys_user');
if(user.get('email',email.from.toString())){
// set requested for, substitute your requested for
//Set Variables in your Cart Item
cart.setVariable(item, 'requested_for', user.getValue('sys_id'));
cart.setVariable(item, 'request_short_description', email.subject.toString());
cart.setVariable(item, 'requested_for_department', user.department);
cart.setVariable(item, 'requested_for_username', user.user_name);
cart.setVariable(item, 'requested_for_phone', user.phone);
cart.setVariable(item, 'requested_for_budgetcode', user.cost_center);
cart.setVariable(item, 'requested_for_company', user.company);
}
var cartmsg = "received from: " + email.origemail + "\n\n" + email.body_text;
cart.setVariable(item,'comments',cartmsg);
var rc = cart.placeOrder();
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-05-2016 06:47 PM
Replace the below lines
cart.setVariable(item, 'requested_for', 'sys_user');
cart.setVariable(item, 'request_short_description', email.subject.toString());
cart.setVariable(item, 'requested_for_department', 'user.department');
cart.setVariable(item, 'requested_for_username', 'user.user_name');
cart.setVariable(item, 'requested_for_phone', 'user.phone');
cart.setVariable(item, 'requested_for_budgetcode', 'user.cost_center');
cart.setVariable(item, 'requested_for_company', 'user.company');
with
cart.setVariable(item, 'requested_for', '<sys_id of the user if it is a reference varaible>');
cart.setVariable(item, 'request_short_description', email.subject.toString());
cart.setVariable(item, 'requested_for_department', user.department);
cart.setVariable(item, 'requested_for_username', user.user_name);
cart.setVariable(item, 'requested_for_phone', user.phone);
cart.setVariable(item, 'requested_for_budgetcode', user.cost_center);
cart.setVariable(item, 'requested_for_company', user.company);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-05-2016 06:51 PM
Hi Tanumoy,
Would the '<sys_id of the user if it is a reference varaible>'); be the requested_for in this case?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-05-2016 06:56 PM
Yes... and also excited to know why did you GlideRecord sys_user table as Abhinay mentioned.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-05-2016 06:53 PM
What exactly are you trying to do with the variable user here? See the highlighted comments below
createRequest();
function createRequest() {
var cat_id='';
if(email.body.item != undefined && email.body.item!='') {
var item=email.body.item.trim();
var gr= new GlideRecord('sc_cat_item');
gr.get('name',item);
cat_id=gr.getValue('sys_id');
var cart = new Cart();
var item=cart.addItem(cat_id);
var user = new GlideRecord('sys_user');
//what exactly are your trying to do here??
//cart.get(gr.getValue('requested_for'));
// set requested for, substitute your requested for
//Set Variables in your Cart Item
cart.setVariable(item, 'requested_for', user.getValue('sys_id'));
cart.setVariable(item, 'request_short_description', email.subject.toString());
cart.setVariable(item, 'requested_for_department', user.department);
cart.setVariable(item, 'requested_for_username', user.user_name);
cart.setVariable(item, 'requested_for_phone', user.phone);
cart.setVariable(item, 'requested_for_budgetcode', user.cost_center);
cart.setVariable(item, 'requested_for_company', user.company);
var cartmsg = "received from: " + email.origemail + "\n\n" + email.body_text;
cart.setVariable(item,'comments',cartmsg);
var rc = cart.placeOrder();
}
}