Siebel Reports Administration Guide > Smart Reports > About Thermometers Used in Smart Reports >
Obtaining the Minimum, Maximum, and Trigger Values for Smart Reports
Various techniques are employed to determine the minimum, maximum, and trigger values for a thermometer. These values are constant through the entire report and all entities of the same type. For example, the minimum, maximum, and trigger values for the Past Revenue thermometer in the Account Summary report are constant for all accounts.
For many thermometers, the constant values are administered in List of Values Administration in a Siebel application. In the case of the Past Revenue thermometer, the three constants are set in the TARGET_ACCNT_LIFE_REV type. The minimum is set in the Target Low field, the maximum in the Target High field, and the trigger in the Order field. For information on configuring lists of values, see Siebel Applications Administration Guide.
Settings in the List of Values table in a Siebel application are communicated to reports through a datastream, similarly to the passing of business component records by way of the data supply library file. In the case of an LOV datastream, the appropriate datastream is subclassed from the ssList_Of_ValuesQuery datastream component in the ssSmart.rol library, rather than from a data supply library file.
The ssList_Of_ValuesQuery datastream component is subclassed for all LOV datastreams. The only differences between LOV datastreams lie in the name, the search specification—which is the means through which the desired LOV type is accessed—and the logic in the Fetch method.
The LOV report section for the Past Revenue thermometer provides a good example. The structure of this report section is illustrated in Figure 22.
Figure 22. Structure of an LOV Data Loading Report Section
This report section consists of the following components:
- Report section. The LOV data loading report section—rptPastRevenuListOfValues in this case—serves no purpose other than to contain the LOV datastream. One such report section is provided for each LOV datastream to be defined. There will be one LOV datastream for each set of minimum, maximum, and target values to be obtained from an LOV record, generally one set of values for each thermometer.
- Datastream. The LOV datastream—qryPastRevenuListOfValues in this case—is subclassed from the ssList_Of_ValuesQuery component in the ssSmart.rol library. The datastream is configured in the SearchSpec property and in the code in the Fetch method.
- SearchSpec property. The text in this property specifies how to obtain the LOV record that provides the set of constants. This is based on the Type field in the LOV record. In the case of the Past Revenue thermometer, the search specification expression in the data loading datastream is the following:
[Type] = 'TARGET_ACCNT_LIFE_REV'
- Fetch method. The code in the Fetch method specifies which fields provide the maximum, minimum, and target values in the LOV record and perform any necessary computations and conversions. The values obtained are passed to the global variables in the report design object that have been defined for the set of constants for one thermometer. For the Past Revenue thermometer, the Fetch method includes the following lines of code:
PastRevenueAverage = Val( aRow.ssOrder_By )
PastRevenueHigh = Val( aRow.ssTarget_High )
PastRevenueLow = Val( aRow.ssTarget_Low )
- Data row. The data row component is always ssList_Of_ValuesDataRow. It is included in the datastream component when the datastream component is created in the report design by subclassing. The data row contains the set of input variables corresponding to the record structure of the LOV table in the Siebel application.