oracle8i pl/sql
3つテーブルよりカーソルにてレコードを取得するパッケージをつくり、
それを違うストアドプロシージャからコールし、カーソルで受け取る処理を行ないたいのですが、
PL/SQL: Statement ignored
PLS-00221: 'CURTEST'がプロシージャではないか、または未定義です?
と言うエラーがだされコンパイルできません。
カーソル自体を完全に理解していないため、エラー内容の意味もわからず…
どなたかアドバイスお願いします。
--以下sample--
パッケージ
Create or replace PACKAGE tpack as
Type curtest is ref cursor;
procedure gettest(tcur out curtest);
end tpack;/
create or replace package body tpack as
procedure gettest(tcur out curtest) AS
begin open tcur for select
M01得意先.得意先コード,
M02製品品目.品名,
T02受注.受注日,
from
M01得意先,
M02製品品目,
T02受注
where
T02受注.得意先コード = M01得意先.得意先コード AND
T02受注.品番 = M02製品品目.品番;
END GETTEST;
END TPACK;/

プロシージャ
create or replace procedure TESTtest IS
CUNTNUM NUMBER;
curtest tpack.curtest;
BEGIN
TPACK.gettest(curtest);
FOR r01 in curtest LOOP ←ここでエラー
insert into AATEST
VALUES(r01.得意先コード,
r01.品名,
r01.受注日,);
END LOOP;
END;