SHOWDEP, SHOWREC operators
The SHOWDEP and SHOWREC operators create diagnostic actions over a list of properties and actions: SHOWDEP outputs their static dependency graph, SHOWREC enables runtime tracking of recursive event firing.
Syntax
SHOWDEP [scope] [propertyId1, ..., propertyIdN]
SHOWREC [propertyId1, ..., propertyIdN]
Description
The SHOWDEP operator creates an action that builds a textual representation of the dependency graph for the listed properties and actions and writes it to the system property System.showResult (of class TEXT).
The SHOWREC operator creates an action that turns on runtime tracking for the listed actions: any action in the list is marked, all others are unmarked. While an apply transaction is in progress, the platform tracks the row-set on which a marked action would fire and writes an entry to the system log whenever that set changes — making it easy to see which other change re-triggered the same event. Calling SHOWREC again replaces the tracked set; calling it with an empty list switches tracking off completely.
Parameters
-
scopeKeyword choice that selects the scope of the dependency graph. If omitted,
GLOBALis used.GLOBAL— Keyword that, when specified, includes all dependencies, including those reachable through apply-time events. Used by default.LOCAL— Keyword that, when specified, includes only session-local dependencies.
-
propertyId1, ..., propertyIdNA comma-separated list of property or action IDs. The list may be empty. For
SHOWDEP, an empty list yields an empty dependency dump. ForSHOWREC, only action IDs have any effect — property IDs in the list are ignored — and an empty list turns off all currently tracked actions.
Examples
// dump the global dependency graph of two properties
diagnoseDeps() {
SHOWDEP customer, orderSum;
}
// dump only the session-local dependencies of one property
diagnoseLocal() {
SHOWDEP LOCAL customer;
}
// start tracing two event actions
traceOrderEvents() {
SHOWREC recalculateBalance, syncStock;
}
// stop all tracing
stopTracing() {
SHOWREC;
}