- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-18-2017 07:56 AM
Like the title says.. where are workflow activity variables stored??
i know that for the catalog the actual values for all variables are on the Variable Ownership table.. and you can put in an item number and find them all...
i know in a background script given the right info you can reference the workflow activity variables via workflow.vars.table_varName
but what table for workflow activities are the variables actually stored on??
to be clear when i talk about workflow activity variables i am NOT talking about the item variables.. but the ones for the workflow itself...
in my specific case i want to find every approval activity in a published workflow that is a user approval where the users variable contains request.requested_for.manager
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-18-2017 10:53 AM
You should be able to query the Values [sys_variable_value] table. I used an advanced query to find anything with requested_for in the value field:
var varObj = new GlideRecord('sys_variable_value');
var qString = 'valueLIKErequested_for';
varObj.addEncodedQuery(qString);
varObj.query();
while (varObj.next()) {
//DO STUFF
}
Had to modify because of copy paste malformed my code.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-18-2017 10:58 AM
thank you sir... THAT was the table i was looking for!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-18-2017 12:17 PM
Just in case anyone else needs to do something similiar, this can be run in a background script and will spit out the names of all workflows where the query string is in there... just a change to the encoded query and you can find what you need!
var tablename = 'sys_variable_value';
var wf_tablename = 'wf_activity';
var wf_q_string = 'sys_id=';
var q_string = 'valueLIKErequest.requested_for.manager';
var v_rec = new GlideRecord(tablename);
v_rec.addEncodedQuery(q_string);
v_rec.query();
while(v_rec.next()){
//gs.print('v_rec key is ' + v_rec.document_key);
if(v_rec.document_key != ''){
var wf_rec = new GlideRecord(wf_tablename);
wf_rec.addEncodedQuery(wf_q_string + v_rec.document_key);
wf_rec.query();
if(wf_rec.next()){
gs.print(wf_rec.workflow_version.getDisplayValue());
}
}
}
____________edit one last tweak to only show published workflows---------------------------------
var tablename = 'sys_variable_value';
var wf_tablename = 'wf_activity';
var wf_q_string = 'sys_id=';
var q_string = 'valueLIKErequest.requested_for.manager';
var v_rec = new GlideRecord(tablename);
v_rec.addEncodedQuery(q_string);
v_rec.query();
while(v_rec.next()){
//gs.print('v_rec key is ' + v_rec.document_key);
if(v_rec.document_key != ''){
var wf_rec = new GlideRecord(wf_tablename);
wf_rec.addEncodedQuery(wf_q_string + v_rec.document_key);
wf_rec.query();
if(wf_rec.next()){
if(wf_rec.workflow_version.published){
gs.print(wf_rec.workflow_version.getDisplayValue() + ' published value is ' + wf_rec.workflow_version.published);
}
}
}
}