I am ghetting some mixed ideas about what you are trying to accomplish. It appears from the information in the first paragraph you are tyring to assign values to TYPE (btw, type is a reserved word in FoxPro. I would not reccomend using it as a variable or field name as it can POSSIBLY cause problems later on.) based on the current value of STATUS (another reserved word.)
My reccommendation would be to NOT use the IIF() function as it is designed for a comparrison of 2 values (although you can add more depending on which version of FoxPro you are using but it gets to be very difficult to read).
What I would do instead would be to use the DO CASE statement as follows:
DO CASE
CASE STATUS = "VERBAL AGR" OR Status = "WON"
TYPE = "FORECAST"
CASE STATUS = "OPEN"
TYPE = "WORKING"
CASE STATUS = "ABANDONED"
TYPE = "CLOSED"
ENDCASE
Also, to make it a little better (to catch possible case sensitive issues and padded spaces) I would add the ALLTRIM() and UPPER() functions to the STATUS Field. for example: CASE ALLTRIM(UPPER(Status)) = "WORKING"
I hope this helps.
AmcAmx :)