- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-16-2017 06:27 PM
I need to have the approval group in my workflow be dynamic based on what the users selects from a request form field. Here are the details. My request form has a lookup select box called Location (location) that is referring a table holding all my locations. I am using a BR to copy the selected location to a table column called Shuttle Location (shuttle_location). I have a workflow associated with this request form with a group approval and this approval has to vary depending on the location is selected. Each location has its own approval group. And there are dozens of locations, thus the need to do this dynamically. I could build this in the workflow with a switch flowing to all the different approvals, but that would be ugly and not very maintainable since locations will change. I've tried using the below script to make this approval group dynamic, but I keep getting an error that "shuttle_location" is not defined. Is this switch script the correct way to do this? Should it be referencing the form variable location rather than the table column shuttle_location that I am copy location to?
var answer = [];
switch(shuttle_location){
case 'nebraska city':
- answer.push('Shuttle - Nebraska City');
break;
case 'new rockford':
- answer.push('Shuttle - New Rockford');
break;
case 'jamestown':
- answer.push('Shuttle - Jamestown');
break;
case 'amarillo':
- answer.push('Shuttle - Amarillo');
break;
default:
- answer.push('Default Approvers');
}
Solved! Go to Solution.
- Labels:
-
Scripting and Coding

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-17-2017 10:28 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-16-2017 09:28 PM
It is a Lookup Select Box variable that is referencing a table called Shuttle Locations (u_shuttle_locations)

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-16-2017 09:52 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-17-2017 03:17 AM
The variable name on the catalog item form is Location (location)
Sent from my Verizon, Samsung Galaxy smartphone

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-17-2017 05:32 AM
var answer = [];
gs.log('what is in variable :'+current.variables.location.toString());
switch(current.variables.location.toString()){
case 'nebraska city':
answer.push('Shuttle - Nebraska City');
break;
case 'new rockford':
answer.push('Shuttle - New Rockford');
break;
case 'jamestown':
answer.push('Shuttle - Jamestown');
break;
case 'amarillo':
answer.push('Shuttle - Amarillo');
break;
default:
answer.push('Default Approvers');
}
try now and let me know if it does not work
http://wiki.servicenow.com/index.php?title=Using_Variables_in_a_Workflow#Overview
current.variables.<it will be name of the variable>;
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-17-2017 05:51 AM
There was a log entry this time. The variable came in as New Rockford, so I changed the script to capitalize the case part. New Rockford instead of new rockford. Ran a couple more request thru and it's still skipping the approval step and not pushing the Shuttle - New Rockford approval group into the approval step.
var answer = [];
gs.log('what is in variable :'+current.variables.location.toString());
switch(current.variables.location.toString()){
case 'Nebraska City':
answer.push('Shuttle - Nebraska City');
break;
case 'New Rockford':
answer.push('Shuttle - New Rockford');
break;
case 'Jamestown':
answer.push('Shuttle - Jamestown');
break;
case 'Amarillo':
answer.push('Shuttle - Amarillo');
break;
default:
answer.push('Default Approvers');
}