Mira, así me corrió bien a mi en Firebird, mirando por encima lo único que creo que le falta es un ";" al final de el select Count....
Código SQL
[-]
SET TERM ^^ ;
CREATE PROCEDURE SP_OBTENERCANTIDAD returns (
CANTIDAD Integer)
AS
begin
select count(*) from CPEDIDO into :cantidad;
end
^^
SET TERM ; ^^
GRANT EXECUTE
ON PROCEDURE sp_obtenerCantidad TO SYSDBA;