Siebel Reports Administration Guide > Master-Detail Reports >
How Master-Detail Reports Work
Figure 14 illustrates the structure of a master-detail report in Actuate.
Figure 14. Structure of a Master-Detail Report
This includes the following major components:
- Report Design. This is the top-level component in a report and corresponds to the ROD file in which it resides. There are no special features of the report design component for master-detail reports.
- Master Report Section. The master report section defines the data acquisition for and display of each master record and, through its child components, defines the subreports.
- Master Datastream. The master datastream component defines the source of data for the master records. A separate datastream is defined in each subreport to obtain the detail data. As in group reports, the data must be sorted with the group field as the primary sort key.
- Group Section. The group section component implements grouping and group break behavior for the master records in its parent report section. This behavior is defined in the group section's Key property and other properties, such as PageBreakBefore. The subreports are children of the group section component.
- Sequential Section. A sequential section causes its child section components to execute one after another in sequence. In a master-detail report, this causes the Before frame to execute before the first subreport section, followed by each additional subreport section if any are present.
- Before Section. This section holds the frame that appears once for each master record, displaying master information before the subreports.
- Subreport Report Section. Each subreport section defines one subreport in the master-detail report. It has its own datastream and content frames, defined with child components.
- Subreport Datastream. Each detail datastream provides data to the detail records in one subreport (its parent report section). The data is obtained through a subquery on the master business component query, requesting all detail records for the current master record.
- Subreport Page Header Frame. In a subreport report section, the page header frame defines the heading information for the subreport records. This normally includes a title identifying the subreport and column heading labels to appear above the subreport records.
- Subreport Content Frame. The content frame defines the layout of one subreport row.
To learn more about the configuration of a simple master-detail report, it is helpful to open a standard Siebel report of this type. A good report to study for this purpose is the Service Request Activity (All) report, which is invoked from a filter in the Service screen in Siebel Service (typically the My Service Requests filter). You should examine the report output in Siebel Service, and the report design in Actuate e.Report Designer Professional, leaving both open to compare them.
To generate the Service Request Activity (All) report in Siebel Service
- Open Siebel Service.
- Click Site Map and navigate to Service > Service Request List.
My Service Requests is the default view.
- Click the Reports button, and from the drop-down list select Service Request Activity (All).
The Service Request Activity (All) report appears in the browser window, as shown in Figure 13.
To open the report design for the Service Request Activity (All) report
- Open Actuate e.Report Designer Professional.
- Choose File > Open.
- In the Open dialog box, navigate to the \Siebdev\RPTSRC\STANDARD folder (or the equivalent on your computer) and choose srvreqaa.rod.
If your installation uses a non-English version of Siebel eBusiness Applications, you do not have an \ENU folder. Instead, you have a folder in the appropriate language code for your installation, such as \DEU for Germany.
See Global Deployment Guide for a list of three-letter International Standards Organization (ISO) language extensions.
Figure 15 shows the srvreqaa.rod report design file in Actuate e.Report Designer Professional.
Figure 15. Service Request Activity (All) Report Design
Explore the report design, compare design elements to the corresponding features in the report output, and right-click components to view their property lists.
Notice the following features of this report design:
- There is a page break before each new service request (master) record. This is configured with a value of TRUE for the PageBreakBefore property of the group section component (ssGrpRowID).
- The Before frame in the group section, and the page header and content frames in the report section, are published components obtained from the sssrvreq.rol custom component library. The contents of these frames are used identically in the two reports that list activities by service request.
- The two datastreams, one (ssService_RequestQuery) in the master report and one (ssActionQuery_1) in the activity subreport, are obtained from the data supply library file, srvreqaa.rol. In the data supply library file for a master-detail report, one datastream is provided for the master report and one for each subreport.
Additional useful information is obtained by viewing the report object definition (and children) for this report in Siebel Tools.
To view the report object definition and children in Siebel Tools
- Open Siebel Tools.
- Navigate to the Report object type in the Object Explorer and expand it.
Note the two child object types, Report Field and Sub Report.
- In the Reports window in the Object List Editor, navigate to the Service Request Activity - All object definition.
- Click on the Sub Report object type in the Object Explorer. A second Object List Editor window opens, displaying subreport child object definitions of the current parent report, as shown in the following figure.
The Service Request Activity - All report has one child subreport object definition: Action. The Action subreport object definition defines the activity subreport.
Notice that the business component property setting for the Action subreport is Action. There is no separate report name, because a subreport in Actuate is internal to the report design that uses the subreport object definition's parent.
- Expand the Sub Report object type and select Sub Report Field. Notice the list of fields defined as children of the Action subreport object definition.
Subreport field object definitions perform the same role for a subreport as report field object definitions do for a report—namely, defining fields to export to the report or subreport from the specified business component.