A procedure is the core element of a reporting application and is always created within the context of an application. It specifies the data to be retrieved from a data source and the format in which data is presented to the user. A procedure can consist of a single component or multiple components, in any meaningful combination.
The most common procedure with one component is a report or graph. A procedure that includes multiple components may contain Joins, virtual fields (Defines), environment settings, as well as a report or graph. When a procedure is run, the components are executed in the order in which they are specified.
More complex procedures may contain calls to other procedures, nested procedures, data extracted to an intermediate (HOLD) file for additional reporting, and WebFOCUS code, such as Dialogue Manager commands, to handle flow of control.