O erro é relatado na linha 11 do corpo do pacote, que é
RETURN NUMBER;
Number é um tipo de dados, não um nome de variável. Não está claro o que você realmente deseja retornar aqui; enquanto você está consultando e capturando, talvez
LOCATION
; mas como isso é uma string, o tipo de retorno da função também precisa ser uma string (ou seja, VARCHAR2
em vez de NUMBER
). Talvez:create or replace PACKAGE BODY e_con_pack
AS
FUNCTION
GET_LOCATION_namel (p_con_id in NUMBER, p_con_name out VARCHAR2)
RETURN VARCHAR2 IS
LOCATION VARCHAR2(30);
BEGIN
SELECT LOCATION INTO LOCATION FROM LDS_CONSULTANT WHERE CONSULTANT_ID = p_con_id;
SELECT CST_NAME INTO p_con_name FROM LDS_CONSULTANT WHERE CONSULTANT_ID = p_con_id;
RETURN LOCATION;
END GET_LOCATION_namel;
Ou melhor ainda, use o tipo de dados da coluna como você já está em outro lugar:
create or replace PACKAGE BODY e_con_pack
AS
FUNCTION
GET_LOCATION_namel (p_con_id in NUMBER, p_con_name out VARCHAR2)
RETURN LDS_CONSULTANT.LOCATION%type IS
LOCATION LDS_CONSULTANT.LOCATION%type;
BEGIN
...
De qualquer forma, você precisará alterar a especificação do pacote para corresponder, é claro.