In PL/SQL V1, you could call the FLOOR function from your own package, p1, like this:
v : = p1.FLOOR(x).
If the p1 package did not have a function called FLOOR, PL/SQL used the FLOOR function in the standard package. This was actually a PL/SQL coding error that has been fixed in PL/SQL V2.3 or later. Therefore, in PL/SQL V2.3, the compiler does not check the standard package for the function name, but correctly reports the situation as an error:
ERROR 302: component ‘CCCCC’ must be declared
. . . where ‘CCCCC’ is the function or procedure name that exists in a standard package or standard package extension.
The message "Incorrect references will resolve to Built-in package V1" is written to the log.
To direct the compiler to the standard package, remove the incorrect package name.
This example first presents V1 PL/SQL code that will generate a compiler error, then shows how you might edit the code to avoid the error.
Change this code:
PACKAGE pk1 IS a NUMBER;
END;
PROCEDURE p IS v NUMBER;
BEGIN
v := pk1.FLOOR(20.5);
END;
. . . to this:
PACKAGE pk1 IS a NUMBER;
END;
PROCEDURE p IS v NUMBER;
BEGIN
v := FLOOR(20.5); Prefix removed
END;