A dependency means that one object in the database refers to another object in some way. It can be a view selecting from a table, a method in a package calling another method in some other package, a method referencing a view and so on.
The information about what objects are dependent on what other objects can be
useful for a developer. For example, if a method has to be changed, it’s good to
know what other objects are using that method.
The dependency information is dynamic and changes as objects change in the
database. That is why it has to be generated before it can be examined. The
dependency information is generated from the Generate Info dialog. It can be
generated for the entire database, or the generation can be restricted to a
specific component, LU, package or view. Be aware that generating dependency
information for an entire database can take some time.
All the generated dependencies can be viewed in a text form in the
All
Dependencies window, or in a graphical form in the
Dependency GUI window. The
windows under Specific Tasks work just like the
All Dependencies window, but
they show only a specific subset of dependencies (have predefined
where-conditions).
Client dependencies are generated through the Client Code Inspector and can be
viewed in the same way as server dependencies.
Update picture
The Dependency GUI window is for viewing dependencies in a more structured way. What the window is showing depends on the Dependency Type and the Dependency Direction settings. The contents of the right box are always generated accordingly to the selection made in the left box.
When those settings are on, the left side shows the server objects that are dependent on other server objects in the system. Double-clicking components expands them to show LUs, double-clicking LUs expands them to show views and packages.
Clicking on a component shows all other components it depends on in the right side box. Those components can be expanded to show LUs. LUs can be expanded to show tables, views, packages and sequences. Packages can be expanded to show methods.
Clicking on a LU shows all other LUs it depends on. The right side box can be expanded as before.
Clicking on a view or a package shows all objects that view or package depends on.
With those settings, the left and the right side change places compared to
the previous settings.
Clicking on a component shows all other components that are dependent on the
selected one. Those components can be expanded to show what LUs (or parts of LUs)
are depending on the selected component.
Clicking on a LU shows all other LUs that are depending on the selected one. The
right side can be expanded as before.
Clicking on a view, package, method, table or sequence shows all objects that are depending on the selected one.
Those settings will show client objects (windows) on the left side. The windows are put in a tree structure under corresponding components and LUs. Once a window is selected, the server objects that that window is depending upon are shown on the right side.
Double-clicking a window expands it to show its contents. Clicking on a window content shows the dependencies for just this part of a window.
With those settings the server objects will be shown in the left box.
Selecting an object will show all the windows that are dependent on the selected
object. Windows are shown in a tree structure under the corresponding component
and LU.