Si la declaración dentro de la cláusula Where

Estoy trabajando con una consulta que contiene declaraciones "IF" dentro de una cláusula "WHERE". Pero PL \ SQL Developer está dando algunos errores mientras lo ejecuta. ¿Alguien puede ayudarme con la consulta correcta? Aquí está la consulta:

SELECT t.first_name,
       t.last_name,
       t.employid,
       t.status
  FROM employeetable t
 WHERE IF status_flag = STATUS_ACTIVE then t.status = 'A'
       IF status_flag = STATUS_INACTIVE then t.status = 'T'
       IF source_flag = SOURCE_FUNCTION then t.business_unit = 'production'
       IF source_flag = SOURCE_USER then t.business_unit = 'users'
   AND t.first_name LIKE firstname
   AND t.last_name LIKE lastname
   AND t.employid LIKE employeeid;

Recibo el error "ORA-00920: operador relacional no válido".

Colocando corchetes alrededorstatus_flag = STATUS_ACTIVE da como resultado el error "ORA-00907: falta el paréntesis derecho"

Respuestas a la pregunta(2)

Su respuesta a la pregunta