- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-16-2022 04:24 AM
Hello All,
When I am trying to post the data using json, the value for requested_for reference field is filling with opened by field value on RITM Requested_for value.
Could you please help me on this issue,
(function process( /*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {
// implement resource here
var reqbody = request.body.dataString;
try {
var parser = new global.JSON();
var parsedData = parser.decode(reqbody);
var requestedFor = parsedData.requested_for;
var Type = parsedData.type;
var needsJavaInstalled = parsedData.needs_java_installed;
var Environment = parsedData.environment;
var shortDescription = parsedData.short_description;
var Description = parsedData.description;
var assignment_group = parsedData.assignment_group;
var assignedTo = parsedData.assigned_to;
var closeImmediately = parsedData.close_immediately;
var closingComments = parsedData.closing_comments;
var cartId = GlideGuid.generate(null);
var cart = new Cart(cartId);
// give here the sys_id of the catalog item under which those variables are present
var item = cart.addItem('afb8ddb7137dab0046d252722244b009', 1); //request Oracle Sysadmin Access (Legacy PCS)
var grUser = new GlideRecord('sys_user');
grUser.get('user_name',requestedFor);
//fill in the variables on the request item form
cart.setVariable(item, 'requested_for', grUser.sys_id);
cart.setVariable(item, "type", Type);
cart.setVariable(item, "needs_java_installed", needsJavaInstalled);
cart.setVariable(item, "environment", Environment);
cart.setVariable(item, "short_description", shortDescription);
cart.setVariable(item, "description", Description);
cart.setVariable(item, "assignment_group", assignment_group);
cart.setVariable(item, "assigned_to", assignedTo);
cart.setVariable(item, "close_immediately", closeImmediately);
cart.setVariable(item, "closing_comments", closingComments);
var rc = cart.placeOrder();
// rc is the request number; you can query RITM table and get the RITM number
var reqNumber = rc.number;
var ritm = new GlideRecord('sc_req_item');
ritm.get('request.number', reqNumber);
var ritmNumber = ritm.number;
var res = {};
res["status"] = "Success";
res["requestNumber"] = reqNumber;
res["requestItemNumber"] = ritmNumber;
response.setBody(res);
} catch (ex) {
var res = {};
res["status"] = "Error";
res["message"] = ex.message;
// response.setBody(JSON.stringify(res));
response.setBody(res);
}
})(request, response);
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-16-2022 06:03 AM
Hello
After updating this below code, I am getting correct value in Requestor for field.
rc.requested_for = grUser.sys_id;
rc.update();
Thanks for your help

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-16-2022 04:31 AM
Hello
try after this lines:
var ritm = new GlideRecord('sc_req_item');
ritm.get('request.number', reqNumber);
adding:
ritm.requested_for= grUser.sys_id;
ritm.update()
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-16-2022 04:41 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-16-2022 05:04 AM
What is in the "var requestedFor = parsedData.requested_for;"? Are you sure that it is matching user_name field on sys_user table? Is "requested_for" variable correctly populated?
Please also try method that
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-16-2022 05:21 AM