- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-02-2019 01:38 PM
Hello there
I have a requirement where We are creating a record on u_object table using work flow script , how do we validated it if the record is created or not ?
One possible solution is (may be if condition) to check the table if the record is created then move on if not create a task and loop it back for run script to create .
Can you please help me with the if condition script in workflow
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-02-2019 02:07 PM
You should be using a workflow scratchpad for this to pass value from one activity to another.
For ex
var refSysId='';
var userGr = new GlideRecord("u_object_code");
userGr.initialize();
userGr.u_value=current.variables.clove;
userGr.u_ritm= current.sys_id;
workflow.scratchpad.refSysId=userGr.insert();
var rec = new GlideRecord('u_object_code');
rec.addQuery('sys_id', workflow.scratchpad.refSysId);
rec.query();
if (rec.next()) {
true
} else {
false
}
But , if you are creating a record, it will get created. You dont need to verify it.
Please mark this response as correct or helpful if it assisted you with your question.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-02-2019 01:44 PM
Hi,
Is there a reason why it wouldn't be created the first time through? Do you have questions about your code?
Anyways, you can use the sys_id from the script you have that's creating the record and then run a glide against that table to see if the record is found. Pretty simple.
So set your insert(); action to a variable like... sysId = variable.insert();
Then, go for glidrecord query (sys_id, sysId); and then
if (variable.next()) {
do x
} else {
do y
}
Please mark reply as Helpful/Correct, if applicable. Thanks!
Please consider marking my reply as Helpful and/or Accept Solution, if applicable. Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-02-2019 02:00 PM
Thanks Allen
Can you please correct me if i did any thing wrong
var refSysId=0;
var userGr = new GlideRecord("u_object_code");
userGr.initialize();
userGr.u_value=current.variables.clove;
userGr.u_ritm= current.sys_id;
refSysId=userGr.insert();
after this run script activity i can use the if activity in work flow with following code ?
How will the refSysId value transfer from run script to if activity ?
var rec = new GlideRecord('u_object_code');
rec.addQuery('sys_id', refSysId);
rec.query();
if (variable.next()) {
true
} else {
false
}

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-02-2019 02:05 PM
This should work. If you're using the refSysId in a later activity in the workflow you'll have to pass /call it using the scratchpad object. You would use something like:
workflow.scratchpad.refSysId = userGr.insert();

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-02-2019 02:07 PM
You should be using a workflow scratchpad for this to pass value from one activity to another.
For ex
var refSysId='';
var userGr = new GlideRecord("u_object_code");
userGr.initialize();
userGr.u_value=current.variables.clove;
userGr.u_ritm= current.sys_id;
workflow.scratchpad.refSysId=userGr.insert();
var rec = new GlideRecord('u_object_code');
rec.addQuery('sys_id', workflow.scratchpad.refSysId);
rec.query();
if (rec.next()) {
true
} else {
false
}
But , if you are creating a record, it will get created. You dont need to verify it.
Please mark this response as correct or helpful if it assisted you with your question.