- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-10-2020 02:29 AM
Hi,
I tried to use switch statement for my requirement. The below script is not working as expected ie., it's not going to each switch cases. Hope, i have an issue with "getActivityName" variable. Even, i wrote the correct case stmt as per "getActivityName" variable. I ran script and got below output. I verified case statement and Activity name. Both are same and I cant identify where the issue. Could you please help on this?
var WorkflowID = '32';
var getActivityName;
getActivityAttributes(WorkflowID);
function getActivityAttributes(WorkflowID)
{
var getActivityVars = new GlideRecord('u_workflow_automation_template');
getActivityVars.addQuery('u_item_type','u_activity');
getActivityVars.addQuery('u_wf_number',WorkflowID); //WF_Number.
getActivityVars.query();
while(getActivityVars.next())
{
gs.log('Logged in Main Function');
getActivityName = getActivityVars.u_activity_type;
var ActivityID = getActivityVars.u_activity_id;
gs.log('Activity Name:'+getActivityName);
switch(getActivityName)
{
case 'Catalog Task':
gs.log('Looged in Catalog Task Switch Stmt');
var getTaskDesc = getActivityVars.u_task_short_description;
var varTD_id = 'c35e10720a0a0ba96248a709d48d0894';
if(!getTaskDesc.nil())
{
createActivityValues(ActivityID,getTaskDesc,varTD_id);
}
var getTaskAssignmentGrp = getActivityVars.u_task_fulfillment_grp;
var varTAG_id = 'c35e07ae0a0a0ba96248a7097c81317c';
if(!getTaskAssignmentGrp.nil())
{
createActivityValues(ActivityID,getTaskAssignmentGrp,varTAG_id);
}
break;
case 'Approval - Group':
gs.log('Looged in Approval Grp Switch Stmt');
/*var getApprovalGrp = getActivityVars.u_approval_grp;
var varAG_id = 'a8abc43ac0a800664b9b89a9f3f2c7a1';
if(!getApprovalGrp.nil())
{
var getGroupID = getAssignmentGrpID(getApprovalGrp);
createActivityValues(ActivityID,getGroupID,varAG_id);
}*/
break;
case 'Approval - User':
gs.log('Looged in Approval User Switch Stmt');
var getApprovalUser = getActivityVars.u_approval_user;
var varAU_id = 'c35e4cc40a0a0ba96248a7098ec9cb06';
if(!getApprovalUser.nil())
{
var getApprovalUserID = getUserID(getApprovalUser);
createActivityValues(ActivityID,getApprovalUserID,varAU_id);
}
break;
case 'Notification':
gs.log('Looged in Notification Switch Stmt');
var getNotificationSubject = getActivityVars.u_notification_subject;
var varNS_id = 'c35db2180a0a0ba96248a709d1b6df20';
if(!getNotificationSubject.nil())
{
createActivityValues(ActivityID,getNotificationSubject,varNS_id);
}
var getNotificationMessage = getActivityVars.u_notification_message;
var varNM_id = 'c35db5a50a0a0ba96248a70938ae8de6';
if(!getNotificationMessage.nil())
{
createActivityValues(ActivityID,getNotificationMessage,varNM_id);
}
break;
default:
gs.log('No Case stmt matched!!!');
break;
}
}
}
function getAssignmentGrpID(grp)
{
var getGroupID = new GlideRecord('sys_user_group');
getGroupID.addQuery('name',grp);
getGroupID.query();
while(getGroupID.next())
{
gs.log('Assignment Group ID:'+getGroupID.sys_id);
return getGroupID.sys_id;
}
}
function getUserID(user)
{
var getUserSYSID = new GlideRecord('sys_user');
getUserSYSID.addQuery('name',user);
getUserSYSID.query();
while(getUserSYSID.next())
{
gs.log('User ID:'+getUserSYSID.sys_id);
return getUserSYSID.sys_id;
}
}
function createActivityValues(ActivityID,getTaskDesc,var_ID)
{
var createActivityValue = new GlideRecord('sys_variable_value');
createActivityValue.initialize();
createActivityValue.document = 'wf_activity';
createActivityValue.variable = var_ID;
createActivityValue.value = getTaskDesc;
createActivityValue.document_key = ActivityID;
createActivityValue.insert();
gs.log('Record has inserted into Activity Value');
}
Output:
*** Script: Logged in Main Function
*** Script: Activity Name:Notification
*** Script: No Case stmt matched!!!
*** Script: Logged in Main Function
*** Script: Activity Name:Catalog Task
*** Script: No Case stmt matched!!!
*** Script: Logged in Main Function
*** Script: Activity Name:Run Script
*** Script: No Case stmt matched!!!
*** Script: Logged in Main Function
*** Script: Activity Name:Approval - Group
*** Script: No Case stmt matched!!!
Regards,
Suresh Loganathan.
Suresh.
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-10-2020 04:24 AM
Seems silly, but try changing the line:
getActivityName = getActivityVars.u_activity_type;
to: getActivityName = getActivityVars.u_activity_type.toString();
Michael D. Jones
Proud member of the GlideFast Consulting Team!

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-10-2020 04:24 AM
Seems silly, but try changing the line:
getActivityName = getActivityVars.u_activity_type;
to: getActivityName = getActivityVars.u_activity_type.toString();
Michael D. Jones
Proud member of the GlideFast Consulting Team!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-10-2020 05:09 AM
Mike,
Minor change solved major. Thanks
Suresh.