### Scheduling a task containing a bursting report

In a large enterprise reporting deployment, it is important to handle both large amounts of data as well as a large number of users. Report bursting enables running a report once and distributing the report result to multiple recipients who each will receive a subset of the report result.

Bursting reports can be distributed to e-mail or FTP addresses, to disk, to the JReport versioning system, or to the security system members such as users, groups, and roles.

End users can submit a schedule task which contains only one bursting report to JReport Server. When a bursting task is activated, it will create a main bursting task and some sub bursting tasks. The system will guarantee bursting tasks compete with normal tasks for system resources. The bursting tasks can be given lower priority if desired (set queue.policy to 1).

- Main bursting task: It is responsible for getting/splitting data and distributing work to the sub tasks. There can be only one main bursting task for a sub bursting task.
- Sub bursting task: It is responsible for generating the report result according to split data and sending the result to the address of the bursting recipient.

For details about what is a bursting report and how to design a bursting report, see Report Bursting in the JReport Designer User's Guide.

On JReport Server, direct running and advanced running actions are supported for normal reports but not bursting reports. A report containing only bursting report tabs cannot be run directly or in Advanced mode, it must be scheduled.

Scheduling is supported for both types of reports excluding the combination of the two types: for normal reports, multiple reports can be scheduled at a time; however for bursting reports, only one can be scheduled. For a scheduled bursting task, seven kinds of result file formats are supported: HTML, PDF, Excel, Text, RTF, XML, and PostScript. In addition, when scheduling to run a bursting report, you can make it generate not only the bursting result by applying bursting schemas but also the non-bursting result based on whole data without data splitting.

#### Scheduling a bursting report to generate bursting result

Though a bursting report may have one or more bursting schemas, you need apply one or more of them in order to get a bursting result. To do this, select a bursting report and schemas, and then specify required parameter values in the General tab of the Schedule dialog. Then a tab named Bursting Result is displayed in the Publish tab and only the corresponding sub tabs that are defined in the selected bursting schemas' recipients in JReport Designer are available. For example, a bursting report has three bursting schemas: Schema 1 defines recipient E-mail and Disk, Schema 2 defines recipient FTP, and Schema 3 defines recipient JReport Server Version. If Schema 1 and Schema 3 are selected, only To E-mail, To Disk, and To Version sub tabs will be shown in the Bursting Result tab of the Publish tab for the bursting result.

Once you choose to schedule to run a bursting report, you should at least specify the schema you want to apply to the selected bursting report or select Non-bursting result in order to submit the task.

The following list tells which tab will be displayed in the Publish > Bursting Result tab of the Schedule dialog for which recipient address specified in bursting schema.

Recipient | Sub tab in the Publish tab
--- | ---
E-mail | To E-mail
FTP | To FTP
Disk | To Disk
JReport Server Version | To Version
JReport Server User/Group/Role - User E-mail | To E-mail
JReport Server User/Group/Role - User Private Folder | To Version

When scheduling a bursting report, you needn't specify the destination in the Publish tab since the recipient addresses have been included in the bursting schema. However, you are allowed to give a file name to the subset of report result instead of using the default name.

##### Default name for bursting result files

Sometimes you may not want to specify a file name for each bursting result when defining recipients. The bursting system will give it a name as generated by the system.

The default name format is: ReportName + "_" + BurstingKey + suffix (result format type). When there are multiple bursting key columns, connect each one by the character "_".

Converting to String

When a bursting key is of one of the following data types, it will be converted into String so as to make a valid result file name:

- Integer, Float, Character: Same as Java, these data types are transferred to string directly.
- Date and Time: All data and time formats will be transferred to a date format: yyyy-MM-dd hh:mm:ss.
- Currency: Currency will be transferred to the number without the currency mark ($ or others).

Name length

In the JReport Server resource system, the resource name only supports up to 64-character length. If a bursting result file name is longer than that, the system will trim it down automatically.

In order to avoid using the same name in the same path, an index will be appended to the result name, for example: report1_USA_Maryland1.pdf, report1_USA_Maryland2.pdf.

Notes:

- All bursting sub results will apply the security information of the bursting task submitter.
- When running a page report containing both normal and bursting report tabs:

  For direct running:

  When running it to Page Report format, only the normal report tabs are opened.

  When running it to other formats, if the default focused report tab is a normal report, it will be opened directly; if the default focused report tab is a bursting report which cannot be run, a warning message will be displayed asking the end user to select a normal report tab to run using advanced run.

  For advanced running:

  You can only choose the normal report tabs to run.

#### Scheduling a bursting report to generate non-bursting result

Besides generating bursting result for a bursting report, you can also generate non-bursting result for the report without applying any bursting definition, which is based on full data without data splitting.

To generate non-bursting result, select the Non-bursting result option in the General tab of the Schedule dialog. Then a tab named Non-bursting Result appears in the Publish tab, and all these sub tabs - To Version, To Disk, To E-mail, To Printer, To Fax, and To FTP - are available in this tab for the non-bursting result.