The CALLING function is a relationship function. It finds
occurrences with the CALLING relationship between them. For
example, if routine A is calling routine B, then these two
occurrences are in a CALLING relationship. In its most common
form, the function format is as follows:
CALLING( <callee>, <caller>, DEPTH={<number> | ALL} )
In this format, <callee> and <caller> can be any legal query
expression and <number> is a positive integer. A typical use of
the function is to find those routines which are calling some
specified routine call. For example,
FIND CALLING( abc, *, DEPTH=ALL )
This query finds the full call tree above ABC, where ABC is some
routine in the SCA database. In other words, find all the routines
that are directly or indirectly calling ABC.
The CALLING function provides the power to return the exact call
tree of interest. The full format is:
CALLING ( [ END=<callee> ],
[ BEGIN=<caller> ],
[ DEPTH={<number> | ALL} ],
[ RESULT=RESULT_KEYWORD ],
[ TRACE=query_expression ] )
In the previous format, <callee> and <caller> are any legal query
expression, <number> is a positive integer, RESULT_KEYWORD can be
STRUCTURE, ANY_PATH, BEGIN, or END, and QUERY_EXPRESSION is any
legal query expression.
For a full description of the CALLING relationship, see the
LSE/SCA User Manual.