Por lo que se puede ver, la idea es que no se inserten valores fuera del rango 'CL', 'AV', 'RU' y 'CA', si ese el caso, la condición del if debería ser:
Código:
if ( p_via_insert not in ('CL','AV','RU','CA') ) then
raise v_data_exception;
end if;
Otra alternativa para lograr esto es utilizar check constraints, ya que pueden validar los datos de las tablas cuando se hacen cargas externas o simplificar el código del procedimiento.
Saludos