01.02.2013 Views

Publishing Reports to the Web - Downloads - Oracle

Publishing Reports to the Web - Downloads - Oracle

Publishing Reports to the Web - Downloads - Oracle

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Methodology<br />

See <strong>the</strong> <strong>Oracle</strong>9iAS Best Practices in Performance and Scalability: Application Design and<br />

Configuration white paper on OTN, (http://otn.oracle.com), for more<br />

performance tips on JSP technology.<br />

20.1.4 General Layout Guidelines<br />

This section outlines <strong>the</strong> various guidelines that you can follow when designing your<br />

report’s layout.<br />

20.1.4.1 Fetching Ahead<br />

<strong>Oracle</strong> <strong>Reports</strong> enables you <strong>to</strong> display data such as <strong>to</strong>tal number of pages or grand<br />

<strong>to</strong>tals, in <strong>the</strong> report margins or on <strong>the</strong> report header pages. This option, although<br />

useful, forces <strong>the</strong> entire report <strong>to</strong> be “fetched ahead". Fetching-ahead requires <strong>the</strong><br />

entire report <strong>to</strong> be processed before <strong>the</strong> first page can be output. The usual model is <strong>to</strong><br />

format pages as and when required.<br />

Although <strong>the</strong> fetched-ahead functionality does not affect <strong>the</strong> overall time <strong>the</strong> report<br />

takes <strong>to</strong> generate, it affects <strong>the</strong> amount of temporary s<strong>to</strong>rage required and <strong>the</strong> time<br />

taken before <strong>the</strong> first page can be viewed. This is an example of perceived performance as<br />

opposed <strong>to</strong> actual performance. If <strong>the</strong> report is <strong>to</strong> be output <strong>to</strong> <strong>the</strong> screen in a<br />

production environment, fetching ahead should be avoided unless <strong>the</strong> performance<br />

variance is deemed acceptable.<br />

20.1.4.2 Bursting and Distribution<br />

With <strong>the</strong> introduction of report bursting, a report layout can be made up of three<br />

distinct sections: header, body, and trailer. A report can comprise all three sections, or<br />

it can be viewed as three separate reports within one report. <strong>Oracle</strong> <strong>Reports</strong> allows you<br />

<strong>to</strong> control bursting at group record level offering a fur<strong>the</strong>r level of granularity. This is<br />

made possible by <strong>the</strong> Distribution and Repeat On properties for each individual<br />

section. The performance gain is evident when bursting is used in conjunction with<br />

distribution, allowing each section of a report <strong>to</strong> have multiple formats and sent <strong>to</strong><br />

multiple destinations. Once <strong>the</strong> distribution options has been set <strong>the</strong> report needs only<br />

<strong>to</strong> be run once, <strong>to</strong> be output <strong>to</strong> multiple destinations with a single execution of <strong>the</strong><br />

query(s). Previously <strong>the</strong> report had <strong>to</strong> be executed multiple times.<br />

When you implement bursting and distribution in a report, you can generate<br />

section-level distribution by setting <strong>the</strong> Repeat On property for a section <strong>to</strong> a data<br />

model break group, which generates an instance of <strong>the</strong> section for each column record<br />

of that break group. Then, you can distribute each instance of <strong>the</strong> section as<br />

appropriate (for example, <strong>to</strong> individual managers in <strong>the</strong> MANAGER group).<br />

If you set <strong>the</strong> Repeat On property for more than one of <strong>the</strong> Header, Main, and Trailer<br />

sections of a report, all Repeat On property values must be set <strong>to</strong> <strong>the</strong> same data model<br />

break group. If <strong>the</strong> Repeat On property for any one of <strong>the</strong> Header, Main, and Trailer<br />

sections is set <strong>to</strong> a different data model break group, <strong>Oracle</strong> <strong>Reports</strong> raises any of <strong>the</strong><br />

following messages:<br />

REP-0069: Internal Error<br />

REP-57054: In-Process job terminated: Terminated with error<br />

REP-594: No report output generated<br />

20.1.5 Calling <strong>Oracle</strong> <strong>Reports</strong> from Forms<br />

Applications built using Forms Builder and <strong>Reports</strong> Builder require reports on data<br />

that has already been retrieved/updated by <strong>the</strong> <strong>Oracle</strong> Application Server Forms<br />

Services section of <strong>the</strong> application. The tight product integration between <strong>Oracle</strong><br />

Tuning <strong>Oracle</strong> <strong>Reports</strong> 20-15

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!