• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 835
  • Last Modified:

What is mean by this error message?

Hi,
   When i run the below PL/SQL block i am getting ORA-24334: no descriptor for this position error.

set serveroutput on
DECLARE
     g_line_id   sample_pkg_1.FND_TABLE_OF_VARCHAR2_4000 := sample_pkg_1.FND_TABLE_OF_VARCHAR2_4000 ();
     g_gen       sample_pkg_1.FND_TABLE_OF_VARCHAR2_4000 := sample_pkg_1.FND_TABLE_OF_VARCHAR2_4000 ();
BEGIN
    sample_pkg_1.get_info (6674, g_line_id, g_gen);
    FOR i IN 1 .. g_line_id.COUNT
    LOOP
        DBMS_OUTPUT.put_line ('g_line_id(' || i || '): ' || g_line_id (i));
    END LOOP;
    FOR i IN 1 .. g_gen.COUNT
    LOOP
        DBMS_OUTPUT.put_line ('g_gen(' || i || '): ' || g_gen (i));
    END LOOP;
END;
            Can you anyone share with me about the reason of this error?
Thanks
0
Suriyaraj_Sudalaiappan
Asked:
Suriyaraj_Sudalaiappan
  • 4
  • 3
1 Solution
 
schwertnerCommented:
What this means?

sample_pkg_1.FND_TABLE_OF_VARCHAR2_4000 := sample_pkg_1.FND_TABLE_OF_VARCHAR2_4000 ();

You can use type clause instead
0
 
Suriyaraj_SudalaiappanAuthor Commented:
No i am using array with in package. That's what i am calling the package in this way.
0
 
schwertnerCommented:
This is neither a package nor a procedure.
This is PL/SQL anonymous block.
0
Cloud Class® Course: C++ 11 Fundamentals

This course will introduce you to C++ 11 and teach you about syntax fundamentals.

 
Suriyaraj_SudalaiappanAuthor Commented:
No i have created the package with name of sample_pkg_1. And get_info is the procedure with in that package. I am calling this package from anonymous block. Because i am using Array in the package. That's what i am invoking the package through this way.
0
 
schwertnerCommented:
If you are using array in a package it should be declared firstly as type.
Even outside the package.
If you do not do this you will have error messages.
And this happens ...
0
 
Suriyaraj_SudalaiappanAuthor Commented:
Yes i have declared already inside the package like below

TYPE FND_TABLE_OF_VARCHAR2_4000 IS VARRAY (100) OF VARCHAR2(4000);

So no need to declare again right.
0
 
schwertnerCommented:
As I recall this what you declary has local scope - only in the package.
The type is unknown outside the package.
To use it outside the package you have to declare it at schema level.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Ruby Fundamentals

This course will introduce you to Ruby, as well as teach you about classes, methods, variables, data structures, loops, enumerable methods, and finishing touches.

  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now