How to write if condition in workflow

spandana kalla
Tera Contributor

Hello Community,

There is a maintain item named as 'Purchase Requisition Request (IT Use Only)' with 2 variables one variable is is_this_for_software_hardware_or_labor with dropdown options as software, hardware, GBS, services and another variable(check box) is is_software_included_in_this_purchase , here if user selects hardware , GBS, services then this software included variable should get populated , I have done these in UI policies and actions and tested it its working fine . Now if user selects other than software and checked the box of software included purchase variable then it should take yes part in workflow in that way we should write logic in if condition . please help me with this 

@Ankur Bawiskar 

Thank you.

1 ACCEPTED SOLUTION

Hi,

are you sure you are comparing correct value for software

Update as this

answer = ifScript(); // add this line if you have not added

function ifScript() {
    if (current.variables.is_this_for_software_hardware_or_labor == 'software') {
        return 'yes';
    }
    if (current.variables.is_this_for_software_hardware_or_labor != "software" && current.variables.is_software_included_in_this_purchase.toString() == 'true')
        return 'yes';
    else
        return 'no';

}

Regards
Ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

View solution in original post

13 REPLIES 13

Mohith Devatte
Tera Sage
Tera Sage

Hello There!

You can write like below 

if(current.variables.is_this_for_software_hardware_or_labor!="Software" && (current.variables.is_software_included_in_this_purchase==true ||current.variables.is_software_included_in_this_purchase=='true' ))

{

return 'yes'

}

else

{

return 'no'

}

Please mark my answer correct if it helped you in anyway

 

Ankur Bawiskar
Tera Patron
Tera Patron

@spandana kalla 

remember if activity always require answer variable to be set as yes or no

If workflow activity

so update as this

answer = ifScript();

function ifScript(){

	if(current.variables.is_this_for_software_hardware_or_labor != "software" && current.variables.is_software_included_in_this_purchase.toString() == 'true')
		return 'yes';
	else
		return 'no';

}

Regards
Ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

spandana kalla
Tera Contributor

Hello Ankur ,

Even if they selects software also it should take yea part, After 1st condition in IF condition we should write the logic like if they selects other than software and checked the box of software include variable . please say the logic . Can we write like these: @Ankur Bawiskar  @Mohith Devatte 

Script:

function ifScript() {
    if (current.variables.is_this_for_software_hardware_or_labor == 'Software') {
        return 'yes';
    }
    if (current.variables.is_this_for_software_hardware_or_labor != "software" && current.variables.is_software_included_in_this_purchase.toString() == 'true')
        return 'yes';
    else
        return 'no';

}

Thanks.

 

Hello @spandana kalla ,

Then you can check with only one condition because they can select any thing(software, hardware, GBS, services) so no need to check this.You can check only if the check box is true and the other variable is not empty.

function ifScript() {

 if (current.variables.is_this_for_software_hardware_or_labor!=''&& current.variables.is_software_included_in_this_purchase.toString() == 'true')
        return 'yes';
    else
        return 'no';

}