The PLVobj (PL/Vision OBJect) package provides a programmatic interface to the PL/SQL objects stored in the ALL_OBJECTS data dictionary view. It is used throughout PL/Vision in two ways:
To parse and manage a "current object," which is composed of the schema, name, and type of the object. The PLVobj package handles the complexity of parsing various versions of the current object specification. It also uses NAME_RESOLVE to locate the object you specify in the data dictionary.
To easily fetch objects from the ALL_OBJECTS view. With the programmatic interface between you and the ALL_OBJECTS view, you never have to explicitly open, fetch from, or close a cursor against this view in order to retrieve object information. Instead, you call PL/SQL programs which do the job for you.
PLVobj offers some excellent lessons in how to use packages to:
Hide implementational and data structure details from developers who don't want or need to deal with that level of detail.
Use the persistent characteristic of packaged variables to implement a current object that can be used in many different programs and circumstances.
Provide a comprehensive procedural interface to a cursor. This includes the loopexec program, which simulates a cursor FOR loop against the cursor.
The PLVobj package is not a flashy piece of software. It isn't anything end users or even developer users will ever really see. It is, however, a very useful low-level building-block ...