Posted by: Ashish Kumar | April 18, 2009

Performance issues for Siebel Actuate Reports Series -2


AshishSearch Specification in the Report Design
If it is not practical to set the search specification on the business component or to set the search specification in the report object definition, an alternative is to configure the report to apply a search specification to the business component. This causes the report to re-query the business component with the search specification. The search specification of the report object in Siebel Tools is static and overrides any queries performed in the UI just before the report submission. Therefore, setting the search specification in the report design through code is an alternative when you need to have a dynamic search specification. A typical scenario is to use a parameter applet to pass parameters to the report and then fuse the parameters to build a search expression into the ssSearchSpec global variable.
This is done as follows:
1. Override the Start method of the topmost component of the report.
2. Insert a line of code to set the searchspec as follows:
ssSearchSpec=”[End Date]>'”+DateVariable1
This example causes only records with an end date greater than the variable to be returned. The variable can be captured as a parameter to the report.
Sort Specification
Report objects in Siebel Tools can have a sort specification specified. However, this may cause the database to take longer to return the records in the order required. In these cases it may be better to have the report sort the returned data itself. This is only practical for reasonable amounts of data, since beyond a certain point it will take the report the same amount of time to sort the data. The general steps to enable the report to sort in memory are as follows:
1. Place an ssMemoryDataSorter object in the datastream slot of the report section.
2. Place the datastream from the ROL file in the Input slot of the ssMemoryDatSorter object.
3. Override the Compare method of the ssMemoryDataSorter object, then sort on the same fields that were in the sort specification property in Siebel Tools. For an example of the code to be placed in the Compare method, refer to the Siebel Bookshelf > Reports Administration Guide > Sorting Records in Memory .
When specifying sort specifications, especially on large tables, consider the same recommendations detailed in the previous section, Search Specification on Business Component, regarding indexes, and be aware that sort specifications affect the ORDER BY clause in the SQL statement generated.
NOTE: This approach should be used with caution. If the report is to retrieve large amounts of data, the execution may take a very long time and could even exhaust all the resources on the Reports Server machine.
Another important point is that the ssMemoryDataSorter object cannot be used on the master datastream of a master-detail report. For more information, please refer to “FAQ 1580: Why does adding a MemoryDataSorter component in the master report section of a master-detail report cause the detail records of only the last parent record to be displayed in the report?” available on SupportWeb.
Fields Specified for Report
When a report is defined in Siebel Tools, a set of Report Field Objects are defined. These identify one business component field to be included in the report. All these fields are retrieved for all records read. By only including the required fields, less data is retrieved from the database and sent to Actuate to be processed.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories

%d bloggers like this: