PLS-00225: subprogram or cursor string reference is out of scope

PLS-00225: subprogram or cursor string reference is out of scope

Cause: The prefix in a qualified name was a subprogram or cursor which was not in an enclosing scope; i.e., a subprogram or cursor name is being used as a scope qualifier for a reference to an entity (within that subprogram or cursor) that is not in scope. Example: declare x number; type t1 is record (a number); function f return t1 is a number; begin x := f.a; -- legal use of function f as a scope qualifier; --resolves to local variable a in function f . x := f().a; --legal reference to component a of returned record end; begin x := f.a; -- illegal use of function f as a scope qualifier x := f().a; --legal reference to component a of returned record end;

Action: a) if the intention was to refer to a local variable of a non-enclosing function, this is not allowed; remove the reference b) if this is a parameterless function, and the the intention was to access a field of the result of a call to this function, then use empty parentheses in the call.

No comments:

Post a Comment