Hello
I have:
-Oracle Database 11.2.0.4.0
-Oracle Forms Compiler 10.1.2.3.0
Pack in database "Test1":
CREATE OR REPLACE PACKAGE TEST1 IS
TYPE T_TEST IS RECORD (COL NUMBER(4));
END;
/
CREATE OR REPLACE PACKAGE BODY TEST1 IS
BEGIN
NULL;
END;
/
Pack in database "Test2":
CREATE OR REPLACE PACKAGE TEST2 IS
CURSOR cCursor(rParam TEST1.T_TEST) IS
SELECT rParam.COL
FROM DUAL;
FUNCTION loquesea(col VARCHAR2) RETURN NUMBER;
END;
/
CREATE OR REPLACE PACKAGE BODY TEST2 IS
FUNCTION loquesea(col VARCHAR2) RETURN NUMBER IS
BEGIN
RETURN 1;
END loquesea;
BEGIN
NULL;
END;
/
I create new form, only "WHEN-NEW-FORM-INSTANCE":
DECLARE
num NUMBER(15);
BEGIN
num := TEST2.loquesea('a');
END;
Compile forms:
<<Error 905 [....] object TEST2 is invalid>>
But, i replace cursor in test2:
CREATE OR REPLACE PACKAGE TEST2 IS
CURSOR cCursor(COL NUMBER) IS
SELECT COL
FROM DUAL;
FUNCTION loquesea(col VARCHAR2) RETURN NUMBER;
END;
/
Then, I compile form without problem.
Why? I can't use cusor with param record in spec package ¿?
Thanks.