Sergey,
Thank you again. I tried out both your examples. I'm sticking with the second one. I'm assuming the only difference between your two examples is readability, correct?
>Elgin,
>
>It should be
IF !("PCB" $ UPPER(fluid)) ;
> AND !("PYRANOL" $ UPPER(fluid)) ;
> AND !("WECOSOL" $ UPPER(fluid))
>* OR
> IF NOT ( ("PCB" $ UPPER(fluid)) ;
> OR ("PYRANOL" $ UPPER(fluid)) ;
> OR ("WECOSOL" $ UPPER(fluid)))
>
>
>>I am trying to figure out why the second IF statement is not working correctly. In my code the field tmpName.liquid contains "PCB "
>>
>>If tmpName.liquid contains any of the strings "PCB", "Pyranol", or "Wecosol" I want it to execute the ELSE condition. But no matter what I try it always ends up doing the first DO CASE statement. When I watch the statement !("PCB" $ UPPER(fluid)) in the debugger it shows .F. once I get to the REPLACE statement. Why does it still step to the next line - DO CASE, instead of going to the ELSE condition. I just don't get it.
>>
>>
>>IF !EMPTY(tmpLiquid.h20)
>> lcH20 = ALLTRIM(tmpLiquid.h20)
>> REPLACE fluid WITH ALLTRIM(tmpName.liquid)
>> IF !("PCB" $ UPPER(fluid)) ;
>> OR !("PYRANOL" $ UPPER(fluid)) ;
>> OR !("WECOSOL" $ UPPER(fluid))
>> DO CASE
>> CASE 1
>> Do something
>> CASE 2
>> Do something
>> OTHERWISE
>> Do something else
>> ENDCASE
>> ELSE
>>
>> Do other stuff
>>
>> ENDIF
>>ENDIF
>>
>>
>>Thank you for your help. I'm at wits end.