Illustrating Code: Call Trees

Having a handy way of visualizing relations of code components and procedures often makes a world of difference when analyzing, formatting and fixing code. No matter how deeply you are into numbers, tables, and rows, you gonna waste tons of time attempting to trace which procedure called the current one, and by the time you catch the original invocation, your hair might turn grey. But you can always choose to delegate some routine to a machine by turning thousands of code lines into a comprehensive graph.
To get a full stack trace for deeply nested operations, relations between code elements and DB objects, import your Oracle Forms and PL/SQL libraries into ClearSQL and illustrate their PL/SQL code via Flowcharts, CRUD matrices, and Call Trees. Call Trees can be generated both for specific Scripts or for the whole Project. The tree structure is an efficient way of storing and organizing data that is naturally hierarchical, so it's a perfect way to visualize the flow of data between subroutines and database tables. This is performed via executing a DML statement.

Such data flows are interactive and they show:
How subroutines get data from data objects (table, view) with SELECT INTO statements.
How they put data back with INSERT or UPDATE statements.
How they delete data with DELETE statements.

To build a Call Tree graph, the system performs a series of actions:
Parsesthe source code.
Looks for the calls to the subprograms in the code.
Collects "chains of calls".
Identifies whether the call target is in our project.
And finally builds a Call Tree.
Also, the system looks for a data flow while parsing. It identifies DML (Data Manipulation Language statements) and includes them in a Call Tree as well.
Call Tree graphs come in handy if you attempt to understand the relationships between the many packages on a highly loaded database. We offer multiple display options, giving our users freedom to choose its content (specific number of levels) and appearance (if your diagram contains a significant number of packages, the system may color different package blocks in different colors).
By the way, you can export Call Tree diagrams into images (GIF, PNG and JPEG), MS Visio drawing "vdx" and HTML formats.

Call Tree generation is supported in all the Conquest products.
Was this article helpful?