- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-19-2018 08:10 PM
So I am new to the Service Desk Call option,
I was able to get the Incident information the way I want, now I wanted to create a General Request item - I have tried using the format of
New call to create generic request`
However it just isnt copying any of my data from the NewCall to the request/item and not actually submitting the request.
Would anyone be willing to share their experiences/code?
basically i want to take
short_description to task short description
description to task description
caller to task requested for
assignment group to task assignment group
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-20-2018 03:54 AM
HI William,
Check this out:
createServiceRequest();
function createServiceRequest() {
var cart = new Cart();
var item = cart.addItem('af695d47314610003e55ce5fcb8deb06');
cart.setVariable(item, 'short_description', current.short_description);
cart.setVariable(item, 'description', current.description);
cart.setVariable(item, 'sr_cmdb_ci', current.cmdb_ci);
cart.setVariable(item, 'sr_resolver_group', current.assignment_group);
var cartGR = cart.getCart();
cartGR.requested_for = current.u_affected_person;
cartGR.update();
var newSerReq = cart.placeOrder();
newSerReq.opened_by = current.caller_id;
newSerReq.update();
var activityLogMsg = 'Your Incident ' + current.number + ' has been cancelled and a Service Request ' + newSerReq.number + ' is created. No action is needed on your part';
current.state = 5;
current.active = false;
current.work_notes = activityLogMsg;
current.parent = getRITM(newSerReq.sys_id);
current.update();
var disMessage = 'Incident ' + current.number + ' has been cancelled and your work will be captured via the newly created Service Request ' + newSerReq.number;
gs.addInfoMessage(disMessage);
action.setRedirectURL(newSerReq);
action.setReturnURL(current);
}
function getRITM(serReq) {
var ritm = '';
var grRITM = new GlideRecord('sc_req_item');
grRITM.addQuery('request',serReq);
grRITM.query();
if(grRITM.next()) {
ritm = grRITM.sys_id;
}
return ritm;
}
Regards,
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-20-2018 09:03 PM
I created a new business rule as below to create the Request / item / task , I believe because of this I am not able to use / utilize the oob rule to link it back or don't see the BR for it.
var generalRequestSysID = '08eb99250feb0200462df3f692050e47';
// Create the cart using the Cart API. NOTE: THIS WILL CLEAR ANY ITEMS IN THE USER'S CART!!!!
var cart = new Cart();
var item = cart.addItem(generalRequestSysID);
cart.setVariable(item, 'inhibit_workflow', 'skip');
// update the form variables
cart.setVariable(item, 'requested_for', current.caller_id);
// use the reported by user as the requested by if available
if (JSUtil.notNil(current.u_user)) {
cart.setVariable(item, 'requested_by', current.u_user);
} else {
cart.setVariable(item, 'requested_by', current.u_user);
}
cart.setVariable(item, 'converted_incident', current.sys_id); // case number
cart.setVariable(item, 'opened_by', current.u_user); // opened by /requested_by
cart.setVariable(item, 'category', 'other');
cart.setVariable(item, 'phone', current.u_phone_number); // phone number
cart.setVariable(item, 'email_address', current.caller.email); // Affected User Email
cart.setVariable(item, 'location_building', current.u_building);
cart.setVariable(item, 'location_area', current.u_area);
cart.setVariable(item, 'location_area_not_available', current.u_area_not_available);
cart.setVariable(item, 'enter_location', current.u_area_text);
cart.setVariable(item, 'description', current.short_description + '\n\n' + current.description);
cart.setVariable(item, 'pc_id', current.u_pcid);
cart.setVariable(item, 'assignment_group', current.u_assignment_group);
cart.setVariable(item, 'requested_for', current.caller);
cart.setVariable(item, 'comments', "Case converted from " + current.number + "\nPCID: " + current.u_pcid.name );
cart.setVariable(item, 'work_notes', "Case converted from " + current.number + "\nPCID: " + current.u_pcid.name );
cart.setVariable(item, 'u_transferred', current.sys_id);
cart.setVariable(item, 'call_number', current.number);
var cartGR = cart.getCart();
cartGR.requested_for = current.caller;
cartGR.update();
var req = cart.placeOrder();
var reqSysID = req.sys_id;
req.short_description = current.short_description;
req.description = current.description + '\n\n + Case converted from ' + current.number;
req.comments = current.description;
req.u_pcid = current.u.pcid;
req.requested_for = current.caller; // Affected User
req.opened_by = gs.getUserID();
req.u_requested_by = current.opened_by;
req.u_transferred = current.sys_id;
req.stage = 'requested';
req.update();
var ritm = '';
var gRitm = new GlideRecord('sc_req_item');
gRitm.addQuery('request', req.sys_id);
gRitm.query();
if (gRitm.next()) {
gRitm.short_description = current.short_description;
gRitm.description = current.description + '\n\n' + "Case converted from " + current.number + "\nPCID: " + current.u_pcid.name ;
gRitm.requested_for = current.caller; // Affected User
gRitm.opened_by = gs.getUserID();
// use the reported by user as the requested by if available
if (JSUtil.notNil(current.u_user)) {
gRitm.u_requested_by = current.u_user;
} else {
gRitm.u_requested_by = current.opened_by;
}
gRitm.approval = 'approved';
gRitm.stage = 'fulfillment';
gRitm.update();
ritm = gRitm;
}
// Create the TASK
var task = new GlideRecord("sc_task");
task.initialize();
task.request = req.sys_id;
task.request_item = ritm.sys_id;
task.u_item = ritm.cat_item;
task.opened_by = ritm.opened_by;
task.u_requested_for = current.caller;
task.short_description = ritm.short_description;
task.description = ritm.short_description + "\n\n" + ritm.description;
task.cmdb_ci = current.u_config_item;
task.assignment_group = current.u_assignment_group;
task.assigned_to = current.u_assigned_to;
task.u_call = current.number;
task.work_notes = "Reported By: " + current.u_user.name + "\n\n" + "Affected User: " + current.caller.name + "\n\n" + "Affected User Phone: " + current.u_phone_number;
task.work_notes = "Current Short Description: " + current.short_description + "\n\n" + "Current Description: " + "\n\n" + current.description;
task.work_notes = "Current PCID: " + current.u_pcid.name;
task.work_notes = "Current Assignment Group: " + current.u_assignment_group.name;
var taskSysID = task.insert();
// copy the Incident attachments to the TASK
GlideSysAttachment.copy("new_call", current.sys_id, 'sc_task', taskSysID);
// show the TASK form
gs.addInfoMessage("We are now tracking Case " + current.number + " as a Request. Please refer to " + req.number + " .");
action.setRedirectURL(task);
action.setReturnURL('new_call_list.do?sysparm_query=active%3Dtrue');

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-20-2018 11:22 PM
HI Will,
Are you able to trigger this or not?
Let me know if any issue.
Regards,
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-21-2018 04:25 AM
I am not able to trigger the Link back to call

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-21-2018 04:37 AM
On Call Do you want to set some fields or what.. sry I got confused.
Please clarify.
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-21-2018 09:55 AM
I need to be able to trigger the OOB rule "Link back to the call that generated it" that is under the Request Business rules - currently it has a condition for when it gets triggered and since I created a new rule I don't seem to be able to trigger it.