- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-29-2022 06:00 AM
Hello All,
When I am trying to post the data using json, the value for requested_for reference field is not showing the name its showing has empty.
If I am posting the data using sys_id of the user then it is taking up and showing the correct value.
Could you please help me on this issue, when i try to insert with name, then it will show the name of the user in reference field.
Please help me on below code
(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 assignmentGroup = parsedData.assignment_group;
var cartId = GlideGuid.generate(null);
var cart = new Cart(cartId);
var item = cart.addItem('afb8ddb7137dab0046d252722244b009', 1); //Catalog item name
//fill in the variables on the request item form
cart.setVariable(item, 'requested_for', requestedFor);
cart.setVariable(item, 'assignmentGroup', assignment_group);
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);
Thanks
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-29-2022 07:14 AM
added this two lines which palani suggested
var grUser = new GlideRecord('sys_user');
grUser.get('user_name',requestedFor);
It working fine now
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-29-2022 06:40 AM
I am using ootb fields

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-29-2022 06:43 AM
Then use this code. Highlighted the changes:
(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 assignmentGroup = parsedData.assignment_group;
var cartId = GlideGuid.generate(null);
var cart = new Cart(cartId);
var item = cart.addItem('afb8ddb7137dab0046d252722244b009', 1); //Catalog item name
//fill in the variables on the request item form
//cart.setVariable(item, 'requested_for', requestedFor);
cart.setVariable(item, 'assignmentGroup', assignment_group);
var rc = cart.placeOrder();
rc.requested_for = requestedFor;
rc.update();
// 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);
Palani
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-29-2022 06:49 AM
I will try your code and let you know
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-29-2022 06:59 AM
Now requested_for value is populating correctly only in Requested item field not on variable tab when i given display value in JSON.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-29-2022 07:14 AM
added this two lines which palani suggested
var grUser = new GlideRecord('sys_user');
grUser.get('user_name',requestedFor);
It working fine now
Thanks