
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-16-2022 02:06 PM
I am new to scripting, but I just completed the Scripting in ServiceNow Fundamentals class and I am trying to put some of what I learned to work. It's not coming easy to me, yet.
'description_of_request' is part of a variable set on some of our catalog items. When a request is submitted we want the 'description_of_request' written to 'description' and 'short_description' fields on the RITM and the SCTASK. I wrote the following script in a business rule that works as intended for RITM. However, I cannot figure out how to modify this script to do the same for the SCTASK. How would you modify this script to also set the 'description' and 'short_description' fields on the SCTASK = description_of_request?
(function executeRule(current, previous /*null when async*/ ) {
//Query sc_req_item and match on current.request
//Update short_description and description of req_item with description_of_request from variable set
var grRITM = new GlideRecord('sc_req_item');
grRITM.addQuery('request', current.request);
grRITM.query();
while (grRITM.next()) {
current.short_description = grRITM.variables.description_of_request;
current.description = grRITM.variables.description_of_request;
grRITM.update();
}
})(current, previous);
Solved! Go to Solution.
- Labels:
-
Scripting and Coding
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-17-2022 08:43 PM
Sure, I have tried your requirement in my PDI and have got that working now.
Please find the steps below:
1) Create a Before Insert and Update Business Rule on Requested Item table and use the script below:
(function executeRule(current, previous /*null when async*/) {
// Add your code here
current.short_description = current.variables.Variable Name; // Replace "Variable Name" with your variable name
current.description = current.variables.Variable Name; // Replace "Variable Name" with your variable name
})(current, previous);
Now create another Before Insert and Update Business Rule on Catalog Task table and use the script below:
(function executeRule(current, previous /*null when async*/) {
// Add your code here
current.short_description = current.request_item.short_description;
current.description = current.request_item.description;
})(current, previous);
This works for me in my PDI. Let me know if still you are facing an issue.
Hope this helps. Please mark the answer as correct/helpful based on impact.
Regards,
Shloke
Regards,
Shloke

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-17-2022 05:37 AM
Hi Shloke,
Thanks for the help. I am going to try this out now. Can you tell me what following command at the bottom of the first function is doing?
updateCatalogTask(gr);
Thanks,
Adam
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-17-2022 06:32 AM
Hi,
This is a method which will be used to set Short Description and Description for list of catalog task present for the RITM selected.
let me know if you have a query or confusion.
Regards,
Shloke
Regards,
Shloke

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-17-2022 06:40 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-17-2022 09:04 AM
Can you share the trigger condition of your BR? Also please share the screenshot of what you have written in your BR to assist further
Regards,
Shloke
Regards,
Shloke

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-17-2022 09:41 AM
Here are a couple of screenshots from my business rule including your script: