- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-04-2023 08:15 PM
Hi All,
I have a requirement to convert incident to request, for this I am using oob create request ui action but with this I need to copy few fields data from incident such as caller to requested for, short description of incident to short description of catalog item there are around 11 catalog items for which I have to configure this, can someone please guide me how this can be achieved? Its kind of urgent requirement from the client.
Thanks,
Ashwini
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-05-2023 02:57 AM
try to set session variable and then use it in client script
You can add below code in your ui action
gs.getSession().putClientData('caller_id', current.caller_id);
To take these value in your catalog item you have to write a catalog client script.
You can use the below method to get those value
var user = g_user.getClientData('caller_id');
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-05-2023 01:50 AM
try this
gs.addInfoMessage(gs.getMessage('Incident will get Cancelled and new service request will be created - please validate any missing values in new task', current.number));
var caller_id = current.caller_id;
var business_service = current.business_service;
var short_description = current.short_description;
var description = current.description;
var street = current.street;
var url = "com.glideapp.servicecatalog_category_view.do?sysparm_parent=1808f7381ba055505e38ff3f034bcb3c&sysparm_catalog=e0d08b13c3330100c8b837659bba8fb4&sysparm_catalog_view=catalog_default&sysparm_view=catalog_default&sysparm_processing_hint=setfield:request.parent="+ '&sysparm_caller_id=' + caller_id + '&sysparm_business_service=' + business_service + '&sysparm_short_description=' + short_description + '&sysparm_description=' + description;
url += current.sys_id;
current.incident_state = 8;
current.active=false;
current.comments = 'Incident will get Cancelled and new service request will be created - please validate any missing values in new task';
current.update();
action.setRedirectURL(url);
Client script
function onLoad() {
//Type appropriate comment here, and begin script below
var gUrl = new GlideURL();
gUrl.setFromCurrent();
var itss_std_vsvar_requested_for = gUrl.getParam("sysparm_caller_id");
var itss_std_vsvar_short_description = gUrl.getParam('sysparm_short_description');
var itss_std_vsvar_detailed_description = gUrl.getParam('sysparm_description');
g_form.setValue('itss_std_vsvar_requested_for', itss_std_vsvar_requested_for);
g_form.setValue('itss_std_vsvar_short_description',itss_std_vsvar_short_description);
g_form.setValue('itss_std_vsvar_detailed_description', itss_std_vsvar_detailed_description);
}
If my response helped please mark it correct and close the thread so that it benefits future readers.
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-05-2023 01:53 AM
Requested for is still not coming as caller, but shortdescription and description are coming as undefined
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-05-2023 02:08 AM
Did you check the URL to which it's getting redirected has the information for those fields?
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-05-2023 02:34 AM
Ankur, I got the issue.
URL which I am passing is for category which has 11 items in it, this values are coming in url till category since on click of create request its redirecting to category first and then we are opening catalog items, this won't work similar way for my requirement since I have to navigate through category. Is there any other way to achieve this prepopulating of data if I have to go through category?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-05-2023 02:57 AM
try to set session variable and then use it in client script
You can add below code in your ui action
gs.getSession().putClientData('caller_id', current.caller_id);
To take these value in your catalog item you have to write a catalog client script.
You can use the below method to get those value
var user = g_user.getClientData('caller_id');
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader