Siebel Reports Administration Guide > Sorting Report Records >

Examining a Report Sorted on a Multi-Value Field (MVF)


A good MVF-sorted report to study is the Opportunities by Sales Rep report, which is invoked in the Opportunities screen (typically from the My Opportunities filter). Examine the report output in Siebel Sales, and the report design in Actuate e.Report Designer Professional, leaving both open to compare them.

To generate the By Sales Rep report

  1. Open the Siebel client.
  2. Navigate to the Opportunities screen, and then the Opportunities List view.
  3. If there are no opportunities in the list, create one now.
  4. From the application-level menu, click Reports, and then choose the By Sales Rep menu item.

    The report opens in a separate Siebel Report Viewer window.

  5. With the ALT key depressed, tap the TAB key to navigate to the Siebel Report Viewer window, and then examine the report layout.

Next, open the report design for the By Sales Rep report.

To open the report design for the By Sales Rep report

  1. In Actuate e.Report Designer Professional, open the opslsrep.rod file.

    For more information, see Opening a Standard Siebel Report.

  2. Examine the report design, comparing design components to their corresponding features in the report output in the Siebel Report Viewer.

    Right-click components to view their property values.

Note the following features of this report design:

  • There are three datastreams, corresponding to the master report, the subreport, and the combined report. The master report (GenerateDataStream) and the subreport (InnerReport) are strictly for data gathering and do not have content frames.
  • If you open Siebel Tools and navigate to the report object definitions for the Opslsrep report (Opportunities - By Sales Rep) and its children, you can see that opportunity records are the parent, and position records (with a limited number of fields exposed) are the child. This is also reflected in the report design in Actuate, with the master datastream obtaining opportunities and the detail datastream obtaining positions for each opportunity.
  • If you right-click the top-level report design component, choose Properties, and click the Variables tab, you can see that a custom variable has been defined. It is called RowList and is of the AcList class. This list structure variable holds the data rows as they are obtained from the input datastreams, for later access by the sort (combined) datastream. This is described in Creating a Global List Variable.
  • The Fetch method in each of the three datastreams has been locally overridden to change the record acquisition code. You can determine this by opening the Properties window for the datastream, clicking the Methods tab, and noting the dark font used for the name of the Fetch method. Double-click the method name to view the code.
    • The Fetch method on the master datastream (QueryOuter) moves the data in the current master record to a public data row variable called OutSideDataRow. This variable is defined on the master datastream, making the current master record available to the detail datastream, ssPositionQuery. See About the Fetch Method on the Master Datastream.
    • The Fetch method on the detail datastream (ssPositionQuery) joins the master and detail data rows to create a combined data row, which is subsequently added to the RowList global list. See About the Fetch Method on the Detail Datastream.
    • The Fetch method on the combined datastream (GetFromList) gets each data row from the global list and passes the data row to the sort filter. See About the Fetch Method on the Combined Datastream.
  • The combined report section, GenerateFormat, uses the GetFromList datastream that has been locally created and defined, rather than imported from the data supply library file generated by Siebel Tools. The parent component of this datastream, rather than the report section itself, is a data filter component. The datastream is created from the ssDataSource library component in sscustom.rol and the data filter from the ssMemoryDataSorter in the same library.

    The Compare method on the sort data filter re-sorts the data rows that have been sent to the filter. The sort data filter component is described in About the Compare Method on the Sort Data Filter.

Siebel Reports Administration Guide Copyright © 2009, Oracle and/or its affiliates. All rights reserved. Legal Notices.