The package compiles well, but when executing the functions, it gives the following error "'SEARCH FOR_EMP_NO' is not a procedure or has not been defined" what is the problem? I think I am committing some problem with the ver_emple procedure. I have to pass the record to it to display an output text as in the example and I don't know how to do it.
/* Cabecera o especificación del paquete */
CREATE OR REPLACE PACKAGE buscar_emple2
AS
TYPE t_reg_emple IS RECORD(emp_no emple.emp_no%TYPE,
apellido emple.apellido%TYPE,
oficio emple.oficio%TYPE,
salario emple.salario%TYPE,
dept_no emple.dept_no%TYPE
);
FUNCTION busca_por_emp_no(v_num_emple emple.emp_no%TYPE)
RETURN t_reg_emple;
FUNCTION busca_por_ape(v_apellido emple.apellido%TYPE)
RETURN t_reg_emple;
PROCEDURE ver_emple;
END buscar_emple2;
/* Cuerpo del paquete */
CREATE OR REPLACE PACKAGE BODY buscar_emple2
AS
vg_emple t_reg_emple;
FUNCTION busca_por_emp_no(v_num_emple emple.emp_no%TYPE)
RETURN t_reg_emple
IS
BEGIN
SELECT emp_no, apellido, oficio, salario, dept_no
INTO vg_emple
FROM emple
WHERE emp_no = v_num_emple;
RETURN vg_emple;
ver_emple;
END busca_por_emp_no;
FUNCTION busca_por_ape(v_apellido emple.apellido%TYPE)
RETURN t_reg_emple
IS
BEGIN
SELECT emp_no, apellido, oficio, salario, dept_no
INTO vg_emple
FROM emple
WHERE apellido = v_apellido;
RETURN vg_emple;
ver_emple;
END busca_por_ape;
PROCEDURE ver_emple
IS
BEGIN
DBMS_OUTPUT.PUT_LINE(vg_emple.emp_no|| '=======' ||vg_emple.apellido|| '=======' ||
vg_emple.oficio|| '=======' ||vg_emple.salario|| '=======' ||vg_emple.dept_no);
END ver_emple;
END buscar_emple2;
EXECUTE buscar_emple2.busca_por_emp_no(7839);
EXECUTE buscar_emple2.busca_por_ape('SALA');