Skip to Main Content

Oracle Forms

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Oracle forms 10 - Error 905 - Use cursor package with type record

jortriJun 13 2017 — edited Jun 15 2017

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.

This post has been answered by Oleh Tyshchenko on Jun 14 2017
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jul 13 2017
Added on Jun 13 2017
4 comments
466 views