Copy REQ Variables to SC_TASK Description

Adam H1
Tera Expert

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?

 

find_real_file.png

(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);

 

1 ACCEPTED SOLUTION

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);

find_real_file.png

find_real_file.png

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);

find_real_file.png

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

Hope this helps. Please mark the answer as correct/helpful based on impact.

Regards,
Shloke

View solution in original post

24 REPLIES 24

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

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

Hope this helps. Please mark the answer as correct/helpful based on impact.

Regards,
Shloke

Hi,

I pasted your script into a business rule and tested it.  Just like with my script, the RITM description and short_description are updated as expected. But, the SCTASK is not. Here are screenshots of the RITM form showing the results:

find_real_file.png

find_real_file.png

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

Hope this helps. Please mark the answer as correct/helpful based on impact.

Regards,
Shloke

Here are a couple of screenshots from my business rule including your script: