Switch Case not working

ersureshbe
Giga Sage
Giga Sage

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.
Regards,
Suresh.
1 ACCEPTED SOLUTION

Michael Jones -
Giga Sage

Seems silly, but try changing the line: 

getActivityName = getActivityVars.u_activity_type;

to: getActivityName = getActivityVars.u_activity_type.toString();

 

I hope this helps!
Michael D. Jones
Proud member of the GlideFast Consulting Team!

View solution in original post

2 REPLIES 2

Michael Jones -
Giga Sage

Seems silly, but try changing the line: 

getActivityName = getActivityVars.u_activity_type;

to: getActivityName = getActivityVars.u_activity_type.toString();

 

I hope this helps!
Michael D. Jones
Proud member of the GlideFast Consulting Team!

Mike,

Minor change solved major. Thanks 

Regards,
Suresh.