Error numérico o de valor, ¿eh?
Esto es lo que podría estar causando el problema:
and equipID = :P3_EquipID;
¿Qué es equipID
? ¿El tipo de datos? Si es un NUMBER
, prueba
and equipID = to_number(:P3_EquipID);
Como ese no es el caso (como comentaste), ¿esto ayudaría?
declare
v_equipid number;
begin
SELECT count(*)
into v_equipid
from equipment
WHERE equipstatus = 'available'
and equipID = :P3_EquipID;
return v_equipid = 1;
end;