[Error] PLS-00328 (3: 10): PLS-00328: A subprogram body must be defined for the forward declaration of EVAL_FREQUENCY.
[Error] PLS-00328 (5: 11): PLS-00328: A subprogram body must be defined for the forward declaration of SALARY_SCHEDULE.
[Error] PLS-00328 (6: 11): PLS-00328: A subprogram body must be defined for the forward declaration of ADD_EVAL.
[Error] PLS-00328 (7: 11): PLS-00328: A subprogram body must be defined for the forward declaration of EVAL_LOOP_CONTROL.
[Error] PLS-00323 (2: 11): PLS-00323: subprogram or cursor 'EVAL_DEPARTMENTT' is declared in a package specification and must be defined in the package body
CREATE OR REPLACE PACKAGE BODY emp_eval AS
/* local subprogram declarations */
FUNCTION eval_frequency (employee_id IN employees.employee_id%TYPE)
RETURN NUMBER;
PROCEDURE salary_schedule(emp IN sal_info);
PROCEDURE add_eval(emp_record IN employees%ROWTYPE, today IN DATE);
PROCEDURE eval_loop_control(emp_cursor IN emp_refcursor_type);
end emp_eval;
my package is
CREATE OR REPLACE PACKAGE HR.emp_eval AS
PROCEDURE eval_departmentt (department_id IN employees.department_id%TYPE);
PROCEDURE eval_everyone;
FUNCTION calculate_score(eval_id IN scores.evaluation_id%TYPE
, perf_id IN scores.performance_id%TYPE)
RETURN NUMBER;
TYPE SAL_INFO IS RECORD -- type for salary, limits, raises, and adjustments
( job_id jobs.job_id%type
, sal_min jobs.min_salary%type
, sal_max jobs.max_salary%type
, salary employees.salary%type
, sal_raise NUMBER(3,3));
TYPE emp_refcursor_type IS REF CURSOR RETURN employees%ROWTYPE;
-- the REF CURSOR type for result set fetches
END emp_eval;