PLVobj provides a number of different programs to set and change the current object of PLVobj. The current object of PLVobj is defined by three private package variables:
The owner of the object(s).
The name of the object(s). The name can be wildcarded, by including % in the name specified.
The type of the object(s). The type can be wildcarded as well, again by including % in the type specified.
Since the above elements are private variables, a user of PLVobj will never see or reference these variables directly. Instead, I provide the following set of procedures and functions to maintain these variables (I call this layer of code which surrounds variables "get and set" routines): setcurr, set_name, set_type, and set_schema.
The setcurr program calls the other set programs. Its header is:
PROCEDURE setcurr (name_in IN VARCHAR2, type_in IN VARCHAR2 := NULL);
The first argument is the module name, the second, optional argument is the module type. While the first argument is called a "name" argument, you can actually in this single argument supply the name, type, and schema. PLVobj makes it as easy as possible to supply this information. All of the following formats for the name_in argument are acceptable:
An unqualified identifier. In this case, PLVobj determines the type of the object from the data dictionary. This type will be unambiguous if name refers to a procedure or function. If a package, then ...