1) When you create the workflow rules select "Run this rule if the following" criteria are met
instead of formula evaluates to true
.
2) Select your field (picklist)
3) Select not equal to
operator
4) Choose the value you're comparing against ("ABC") in your case
EDIT:
If you're using this in combination with other logic and you must use
formula, the following formula should work:
NOT(ISPICKVAL('Status', 'ABC'))
As I understand, lets have a simple visualization here
First Case : Record Type is X and status is changed to final:
Value of
- Status__c = FINAL
- Check__c = false
- Record Type = Changed from X to Y (Because of the Workflow. perfect!)
Second Case : Record Type is Y and Check__c is checked:
Value of
- Status__c = FINAL
- Check__c = true
- Record Type = changed from Y to X (Because of the Workflow. perfect!)
Third Case : Record Type is X, Status__c = FINAL and Check__c is true :
SO I believe it triggers both your workflows in same transaction as both workflows match the condition and the record changes and is altered back to initial condition. You can confirm it from debug logs .
What you can do.
I think you change the workflow criteria to created and subsequently edited to meet the criteria
.
Then add one more field update each in your two workflows.
In Workflow with criteria IF(STATUS__c == 'FINAL',true,false)
add one field update to make value of Check__c as false.
In workflow with criteria IF(CHECK__c == TRUE,true,false)
add a field update to update the Status__c to Blank/None or some other Value.
Best Answer
If you are looking for simple steps on how to do this for the first time:
If you are faced with a challenge outside of this please edit your question.